{"id":32557,"date":"2014-10-30T09:11:27","date_gmt":"2014-10-30T09:11:27","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/gps-map-widget\/"},"modified":"2017-01-12T21:42:10","modified_gmt":"2017-01-12T21:42:10","slug":"gps-map-widget","status":"closed","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/gps-map-widget\/","author":9557849,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.9","stable_tag":"1.9","tested":"4.7.33","requires":"3.0.1","requires_php":"","requires_plugins":"","header_name":"GPS MAP Widget","header_author":"Gerhard Hoogterp","header_description":"","assets_banners_color":"","last_updated":"2017-01-12 21:42:10","external_support_url":"","external_repository_url":"","donate_link":"http:\/\/plugins.funsite.eu\/gps-map-widget\/","header_plugin_uri":"http:\/\/plugins.funsite.eu\/gps-map-widget\/","header_author_uri":"http:\/\/plugins.funsite.eu\/gps-map-widget\/","rating":3.5,"author_block_rating":0,"active_installs":10,"downloads":4261,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":[],"upgrade_notice":[],"ratings":{"1":0,"2":"1","3":0,"4":0,"5":"1"},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":"1024113","resolution":"128x128","location":"assets"},"icon-256x256.png":{"filename":"icon-256x256.png","revision":"1016573","resolution":"256x256","location":"assets"}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1","1.2","1.2.1","1.2.2","1.2.3","1.2.4","1.3","1.4","1.5","1.6","1.7","1.8","1.9"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":"1016574","resolution":"1","location":"assets"},"screenshot-2.png":{"filename":"screenshot-2.png","revision":"1016574","resolution":"2","location":"assets"}},"screenshots":{"1":"Widget as presented to the user (using Alizee theme in this case)","2":"The widget settings"}},"plugin_section":[],"plugin_tags":[1795,1571,3373,33383,162],"plugin_category":[43,49],"plugin_contributors":[88838],"plugin_business_model":[],"class_list":["post-32557","plugin","type-plugin","status-closed","hentry","plugin_tags-featured-image","plugin_tags-google-maps","plugin_tags-gps","plugin_tags-static-map","plugin_tags-widget","plugin_category-customization","plugin_category-maps-and-location","plugin_contributors-jondor","plugin_committers-jondor"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/gps-map-widget.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/gps-map-widget\/assets\/screenshot-1.png?rev=1016574","caption":"Widget as presented to the user (using Alizee theme in this case)"},{"src":"https:\/\/ps.w.org\/gps-map-widget\/assets\/screenshot-2.png?rev=1016574","caption":"The widget settings"}],"raw_content":"<!--section=description-->\n<p>This plugin implements a widget with a static google map which shows the GPS coordinates if those are available in the featured image.<\/p>\n\n<p>Besides the widget it also adds two shortcodes:<\/p>\n\n<h4>EXIF_locationmap:<\/h4>\n\n<ul>\n<li>width: width of the mapimage in px. default 300px<\/li>\n<li>height: height of the mapimage in px. default 200px;<\/li>\n<li>zoom: googlemaps zoomlevel. Default 11<\/li>\n<li>Errors: Show error messages when no exif is available or when there's no featured image. Default is false for the shortcode<\/li>\n<\/ul>\n\n<p>Example:\n    [EXIF_locationmap width=750 height=300 zoom=11 errors=false apikey=###]<\/p>\n\n<h4>EXIF_location:<\/h4>\n\n<ul>\n<li>part:  'latitude', 'longitude' or 'both'<\/li>\n<li>form:  'dec' or 'dms' (decimal or Degree minute seconds. Decimal is default);<\/li>\n<\/ul>\n\n<p>example:\n    [EXIF_location part=both]\n    will return  52.22935055,6.8737411<\/p>\n\n<pre><code>[EXIF_location part=both form=dms]\nwill return  52\u00b021'13\"N , 6\u00b026'7\"N\n<\/code><\/pre>\n\n<p>If you would like to add this geoinformation also to your rss feed, there's my addGEORSS plugin which does exactly this. It uses the same data as stored by this plugin.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload <code>plugin-name.php<\/code> to the <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Add the widget to a widgetarea. You can set the widget title, width and height in pixels, and the zoomlevel.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt>Why did you write this widget?<\/dt>\n<dd><p>As an first attempt to write a widget and because I couldn't find one that did what thisone does (and nothing more!)<\/p><\/dd>\n<dt>Why the shortcodes<\/dt>\n<dd><p>Guess you can use them for generating your own image from bing maps or alike. Putting a big map in the content has it's charm too..<\/p><\/dd>\n<dt>I would like to edit the coordinates<\/dt>\n<dd><p>Well, you probably can in your image processing software. Digikam can do it, so can darktable. But starting with the map on the editscreen I'm\nslowely working towards this feature.<\/p><\/dd>\n<dt>Where to get an API Key<\/dt>\n<dd><p>For now, this is a bit of a nerd stuff.. Go to https:\/\/console.developers.google.com, log in and create a project, search for the \"static maps api\"\nunder libraries and enable it.\nGo to the \"Credentials\" screen and use the button \"Create credentials\". Select API key. And save it. Google suggests to restrict the usage of the key by IP\nor HTTP. If you want to use IP (test-environment of virtual server and the like) don't forget to add ipV4 AND ipV6 if you use both.\nAlso, it takes a few minutes for the system to recognise the changes. Until that time you will get an 403 error with a message about an outdated api.\nJust be patient..<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<p>=1.9=\nFixed some user reported issues\ncentered the messages in the widgetarea<\/p>\n\n<p>=1.8=\nAdded an google apikey field in the widgetsettings. This key is only needed when you want to show a map AND have substansional usage of your site.<\/p>\n\n<h4>1.7<\/h4>\n\n<p>Some changes to the basic_plugin_class which, regretfully, isn't allowed to have it's own plugin anymore.\nmove the javascript to the basic plugin class<\/p>\n\n<h4>1.6<\/h4>\n\n<p>Fixes for WP4.3<\/p>\n\n<h4>1.5<\/h4>\n\n<p>Cleaned up the code and fixed some minor bugs.<\/p>\n\n<h4>1.4<\/h4>\n\n<p>Added translation support and added an extra dutch translation. If you translate the pluing the resulting .po file would be appriciated.\nI used the \"CodeStyling Localization\" for my translation and it worked like a dream.<\/p>\n\n<h4>1.3<\/h4>\n\n<p>Added the map to the media edit page.<\/p>\n\n<h4>1.2.4<\/h4>\n\n<p>Added form attribute<\/p>\n\n<h4>1.2.3<\/h4>\n\n<p>Fixed readme<\/p>\n\n<h4>1.2.2<\/h4>\n\n<p>Minor details<\/p>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>learned the order in which plugins are loaded is important. So I've added checkes for the existance of functions<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<p>Nothing really just trying to clean up some stupid svn mixups..<\/p>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li><p>found coordinates are stored in the database. For now this is done whenever the plugin is shown and only for the post on screen.\nFor those interested I use the meta_key \"EXIF_location\" containing an array with latitude,longitude and hasLocation. hasLocation is\na boolean which is true when the lat\/long fields are filled, but empty. (No EXIF info available in the image!)<\/p><\/li>\n<li><p>Added the shortcode EXIF_location and EXIF_locationmap<\/p><\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>First release<\/li>\n<\/ul>","raw_excerpt":"This plugin implements a widget and a shortcode for a static google map which shows the GPS coordinates if those are available in the featured image.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/32557","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=32557"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jondor"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=32557"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=32557"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=32557"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=32557"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=32557"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=32557"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}