{"id":214,"date":"2009-07-19T01:42:59","date_gmt":"2009-07-19T00:42:59","guid":{"rendered":"https:\/\/www.entropywins.wtf\/blog\/?p=214"},"modified":"2009-07-19T01:42:59","modified_gmt":"2009-07-19T00:42:59","slug":"semantic-maps-google-maps-form-input","status":"publish","type":"post","link":"https:\/\/www.entropywins.wtf\/blog\/2009\/07\/19\/semantic-maps-google-maps-form-input\/","title":{"rendered":"Semantic Maps &#8211; Google Maps form input"},"content":{"rendered":"<p>I decided to really thoroughly rewrite the Google Maps form input (hook for <a href=\"http:\/\/www.mediawiki.org\/wiki\/Extension:Semantic_Forms\" target=\"_blank\">Semantic Forms<\/a>) in advance to staring on those using Yahoo! Maps and Open Layers. Before I started I made the prediction I would at least remove or move 125 lines of the 225 line long code. Want to know how many lines long the body of the current function is? No more then 26 lines! (And that&#8217;s spaces included.) A third of the code I just removed cause it was redundant, another third I referenced to the centralized mapping and Google Maps functions, and the remaining third I just moved to another location to make it centralized. After doing this, I added pretty much all functionality the parser functions for Google Maps have to the form input, which basically meant adapting the JavaScript functions, and creating some new ones.<\/p>\n<p>Next to this refactoring and adding of new functionality, I also put the code in a separate class, SMGoogleMapsFormInput, which inherits from an abstract class, SMFormInput, containing all the common code for map based form inputs. This will make adding the inputs for the other services so much more easy \ud83d\ude42 Tomorrow I&#8217;ll attempt to get both the others working, and fix some small remaining issues, so the extensions can finally be released.<\/p>\n<p>Here you have a nice screenshot of the Google Maps form input, showing a view of New York with the Google Earth map type.<\/p>\n<p><a href=\"http:\/\/www.mediawiki.org\/wiki\/Extension:Semantic_Maps\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-220\" title=\"Semantic Forms displaying a Google Map via the Google Maps form input hook of Semantic Maps\" src=\"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/07\/sm-fi-gmaps-earth.gif\" alt=\"Semantic Forms displaying a Google Map via the Google Maps form input hook of Semantic Maps\" width=\"604\" height=\"403\" \/><\/a><\/p>\n<p>The wiki code of the used form responsible for showing this map:<\/p>\n<p><em>&#8221;&#8217;Coordinates:&#8221;&#8217; {{{field|The coordinates|input type=googlemap|earth=on}}}<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I decided to really thoroughly rewrite the Google Maps form input (hook for Semantic Forms) in advance to staring on&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[7],"tags":[105,111,112,115,136,154,156,181,195,227,231,285],"class_list":["post-214","post","type-post","status-publish","format-standard","hentry","category-programming","tag-geocoding","tag-google-earth","tag-google-maps","tag-gsoc","tag-javascript","tag-mapping","tag-mediawiki","tag-open-source","tag-php","tag-semantic-maps","tag-semantics","tag-wikimedia"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Semantic Maps - Google Maps form input - Blog of Jeroen De Dauw<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.entropywins.wtf\/blog\/2009\/07\/19\/semantic-maps-google-maps-form-input\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Semantic Maps - Google Maps form input - Blog of Jeroen De Dauw\" \/>\n<meta property=\"og:description\" content=\"I decided to really thoroughly rewrite the Google Maps form input (hook for Semantic Forms) in advance to staring on&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.entropywins.wtf\/blog\/2009\/07\/19\/semantic-maps-google-maps-form-input\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog of Jeroen De Dauw\" \/>\n<meta property=\"article:published_time\" content=\"2009-07-19T00:42:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/07\/sm-fi-gmaps-earth.gif\" \/>\n<meta name=\"author\" content=\"Jeroen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/JeroenDeDauw\" \/>\n<meta name=\"twitter:site\" content=\"@JeroenDeDauw\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeroen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/07\\\/19\\\/semantic-maps-google-maps-form-input\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/07\\\/19\\\/semantic-maps-google-maps-form-input\\\/\"},\"author\":{\"name\":\"Jeroen\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\"},\"headline\":\"Semantic Maps &#8211; Google Maps form input\",\"datePublished\":\"2009-07-19T00:42:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/07\\\/19\\\/semantic-maps-google-maps-form-input\\\/\"},\"wordCount\":265,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\"},\"image\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/07\\\/19\\\/semantic-maps-google-maps-form-input\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/wp-content\\\/uploads\\\/2009\\\/07\\\/sm-fi-gmaps-earth.gif\",\"keywords\":[\"Geocoding\",\"Google Earth\",\"Google Maps\",\"GSoC\",\"JavaScript\",\"Mapping\",\"MediaWiki\",\"Open Source\",\"PHP\",\"Semantic Maps\",\"Semantics\",\"Wikimedia\"],\"articleSection\":[\"Programming\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/07\\\/19\\\/semantic-maps-google-maps-form-input\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/07\\\/19\\\/semantic-maps-google-maps-form-input\\\/\",\"url\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/07\\\/19\\\/semantic-maps-google-maps-form-input\\\/\",\"name\":\"Semantic Maps - Google Maps form input - Blog of Jeroen De Dauw\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/07\\\/19\\\/semantic-maps-google-maps-form-input\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/07\\\/19\\\/semantic-maps-google-maps-form-input\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/wp-content\\\/uploads\\\/2009\\\/07\\\/sm-fi-gmaps-earth.gif\",\"datePublished\":\"2009-07-19T00:42:59+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/07\\\/19\\\/semantic-maps-google-maps-form-input\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/07\\\/19\\\/semantic-maps-google-maps-form-input\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/07\\\/19\\\/semantic-maps-google-maps-form-input\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/wp-content\\\/uploads\\\/2009\\\/07\\\/sm-fi-gmaps-earth.gif\",\"contentUrl\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/wp-content\\\/uploads\\\/2009\\\/07\\\/sm-fi-gmaps-earth.gif\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2009\\\/07\\\/19\\\/semantic-maps-google-maps-form-input\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Semantic Maps &#8211; Google Maps form input\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/\",\"name\":\"Entropy Wins\",\"description\":\"A blog on Software Architecture, Design and Craftsmanship\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\",\"name\":\"Jeroen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\",\"caption\":\"Jeroen\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/jeroendedauw\\\/\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/JeroenDeDauw\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Semantic Maps - Google Maps form input - Blog of Jeroen De Dauw","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.entropywins.wtf\/blog\/2009\/07\/19\/semantic-maps-google-maps-form-input\/","og_locale":"en_US","og_type":"article","og_title":"Semantic Maps - Google Maps form input - Blog of Jeroen De Dauw","og_description":"I decided to really thoroughly rewrite the Google Maps form input (hook for Semantic Forms) in advance to staring on&hellip;","og_url":"https:\/\/www.entropywins.wtf\/blog\/2009\/07\/19\/semantic-maps-google-maps-form-input\/","og_site_name":"Blog of Jeroen De Dauw","article_published_time":"2009-07-19T00:42:59+00:00","og_image":[{"url":"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/07\/sm-fi-gmaps-earth.gif","type":"","width":"","height":""}],"author":"Jeroen","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/JeroenDeDauw","twitter_site":"@JeroenDeDauw","twitter_misc":{"Written by":"Jeroen","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/07\/19\/semantic-maps-google-maps-form-input\/#article","isPartOf":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/07\/19\/semantic-maps-google-maps-form-input\/"},"author":{"name":"Jeroen","@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7"},"headline":"Semantic Maps &#8211; Google Maps form input","datePublished":"2009-07-19T00:42:59+00:00","mainEntityOfPage":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/07\/19\/semantic-maps-google-maps-form-input\/"},"wordCount":265,"commentCount":2,"publisher":{"@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7"},"image":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/07\/19\/semantic-maps-google-maps-form-input\/#primaryimage"},"thumbnailUrl":"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/07\/sm-fi-gmaps-earth.gif","keywords":["Geocoding","Google Earth","Google Maps","GSoC","JavaScript","Mapping","MediaWiki","Open Source","PHP","Semantic Maps","Semantics","Wikimedia"],"articleSection":["Programming"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.entropywins.wtf\/blog\/2009\/07\/19\/semantic-maps-google-maps-form-input\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/07\/19\/semantic-maps-google-maps-form-input\/","url":"https:\/\/www.entropywins.wtf\/blog\/2009\/07\/19\/semantic-maps-google-maps-form-input\/","name":"Semantic Maps - Google Maps form input - Blog of Jeroen De Dauw","isPartOf":{"@id":"https:\/\/www.entropywins.wtf\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/07\/19\/semantic-maps-google-maps-form-input\/#primaryimage"},"image":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/07\/19\/semantic-maps-google-maps-form-input\/#primaryimage"},"thumbnailUrl":"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/07\/sm-fi-gmaps-earth.gif","datePublished":"2009-07-19T00:42:59+00:00","breadcrumb":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/07\/19\/semantic-maps-google-maps-form-input\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.entropywins.wtf\/blog\/2009\/07\/19\/semantic-maps-google-maps-form-input\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/07\/19\/semantic-maps-google-maps-form-input\/#primaryimage","url":"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/07\/sm-fi-gmaps-earth.gif","contentUrl":"https:\/\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/07\/sm-fi-gmaps-earth.gif"},{"@type":"BreadcrumbList","@id":"https:\/\/www.entropywins.wtf\/blog\/2009\/07\/19\/semantic-maps-google-maps-form-input\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.entropywins.wtf\/blog\/"},{"@type":"ListItem","position":2,"name":"Semantic Maps &#8211; Google Maps form input"}]},{"@type":"WebSite","@id":"https:\/\/www.entropywins.wtf\/blog\/#website","url":"https:\/\/www.entropywins.wtf\/blog\/","name":"Entropy Wins","description":"A blog on Software Architecture, Design and Craftsmanship","publisher":{"@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.entropywins.wtf\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7","name":"Jeroen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g","caption":"Jeroen"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g"},"sameAs":["https:\/\/www.linkedin.com\/in\/jeroendedauw\/","https:\/\/x.com\/https:\/\/twitter.com\/JeroenDeDauw"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p74TBF-3s","jetpack-related-posts":[{"id":209,"url":"https:\/\/www.entropywins.wtf\/blog\/2009\/07\/18\/maps-and-semantic-maps-almost-ready\/","url_meta":{"origin":214,"position":0},"title":"Maps and Semantic Maps almost ready","author":"Jeroen","date":"2009-07-18","format":false,"excerpt":"Last few days I made some really awesome progress on Maps and Semantic Maps. I fixed a whole variety of issues all over the extensions (to many to list here), and refactored quite some code to decrease code redundancy. A notable change to the exertions structures is the adding of\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":236,"url":"https:\/\/www.entropywins.wtf\/blog\/2009\/07\/19\/semantic-maps-ready-for-release\/","url_meta":{"origin":214,"position":1},"title":"Semantic Maps &#8211; Ready for release","author":"Jeroen","date":"2009-07-19","format":false,"excerpt":"Maps and Semantic Maps are both as good as ready for their first release! :) I've completed all planned functionality for the initial release, and now only have to update the documentation, before publishing the extensions. I'm really happy the originally planed features are now completely finished. It took me\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"Semantic Forms showing the Yahoo! Maps form input provided by Semantic Maps","src":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/07\/sl-fi-yahoo-marker.gif?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/07\/sl-fi-yahoo-marker.gif?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/07\/sl-fi-yahoo-marker.gif?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":697,"url":"https:\/\/www.entropywins.wtf\/blog\/2010\/02\/01\/maps-and-semantic-maps-0-5-3-released\/","url_meta":{"origin":214,"position":2},"title":"Maps and Semantic Maps 0.5.3 released","author":"Jeroen","date":"2010-02-01","format":false,"excerpt":"Today I released Maps and Semantic Maps 0.5.3. Both releases mainly include bug-fixes, some of which quite important: Fixed JavaScript bug causing all OSM maps to fail. Pretty important yeah :) Fixed issue causing a fatal error when executing a query on Special:Ask with the \"map\" format. Fixed issue causing\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":148,"url":"https:\/\/www.entropywins.wtf\/blog\/2009\/07\/08\/semantic-maps-project-progress\/","url_meta":{"origin":214,"position":3},"title":"Semantic Maps &#8211; project progress","author":"Jeroen","date":"2009-07-08","format":false,"excerpt":"I am currently busy with the last big chunk of work for the first release of Maps and Semantic Maps, which is Open Layers integration. I'll post about this as soon as I got more concrete results. The integration of Open Layers is proving, as expected, to be more challenging\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":102,"url":"https:\/\/www.entropywins.wtf\/blog\/2009\/07\/01\/semantic-maps-the-first-query\/","url_meta":{"origin":214,"position":4},"title":"Semantic Maps &#8211; The first query","author":"Jeroen","date":"2009-07-01","format":false,"excerpt":"Today I worked on the googlemap format for semantic ask queries and the hook for the coordinates form input type, both in Semantic Maps. The googlemap format for semantic ask queries enables users to query coordinate data and let it be displayed on a googlemap, in the form of markers.\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"Semantic Maps displaying queried coordinate data onto a Google map","src":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/07\/semantic-maps-query-google.gif?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/07\/semantic-maps-query-google.gif?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/07\/semantic-maps-query-google.gif?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":109,"url":"https:\/\/www.entropywins.wtf\/blog\/2009\/07\/02\/semantic-maps-google-maps-query-printer\/","url_meta":{"origin":214,"position":5},"title":"Semantic Maps &#8211; Google Maps query printer","author":"Jeroen","date":"2009-07-02","format":false,"excerpt":"Here you have a small summary of what I worked on today. I started with improving some of the JavaScript created in the Google Maps query printer. The centre and zoom of the map are now calculated client-side via the Google Maps API instead of server-side via PHP code in\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"Semantic Maps showing a Google Maps with queried coordinate data","src":"..\/wp-content\/uploads\/2009\/07\/sm-gmap-qp-hybrid-baloon.gif","width":350,"height":200,"srcset":"..\/wp-content\/uploads\/2009\/07\/sm-gmap-qp-hybrid-baloon.gif 1x, ..\/wp-content\/uploads\/2009\/07\/sm-gmap-qp-hybrid-baloon.gif 1.5x"},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts\/214","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/comments?post=214"}],"version-history":[{"count":0,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts\/214\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/media?parent=214"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/categories?post=214"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/tags?post=214"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}