{"id":11,"date":"2011-10-16T15:26:14","date_gmt":"2011-10-16T20:26:14","guid":{"rendered":"http:\/\/cartometric.com\/blog\/?p=11"},"modified":"2011-10-16T16:40:24","modified_gmt":"2011-10-16T21:40:24","slug":"google-maps-for-flashflex-dead-man-walking","status":"publish","type":"post","link":"https:\/\/elrobis.com\/blog\/2011\/10\/16\/google-maps-for-flashflex-dead-man-walking\/","title":{"rendered":"Google Maps for Flash\/Flex: Dead Man Walking"},"content":{"rendered":"<p><em>&#8220;When life gives you lemons..&#8221;<\/em><\/p>\n<p>Let&#8217;s just review the signs:<\/p>\n<ul>\n<li>First, the Google Maps Flash\/Flex API had not been updated for quite some time.<\/li>\n<li>Meanwhile, some developers were <a href=\"http:\/\/code.google.com\/p\/gmaps-api-issues\/issues\/detail?id=2750\" target=\"_blank\">sharing a hack<\/a> to bypass a nasty initialization bottleneck in the Maps Flash\/Flex API that stalled map loading in AIR apps.<\/li>\n<li>At the other end of the yard, <a href=\"http:\/\/code.google.com\/apis\/maps\/documentation\/javascript\/basics.html#Welcome\" target=\"_blank\">Google lifted its registration key requirement for the Maps JavaScript API V3<\/a>; yet, the Flash\/Flex counterpart remained unchanged in this respect (curiously, it was key-hashing that caused AIR apps to stall).<\/li>\n<li>Finally, and <a href=\"http:\/\/blog.pamelafox.org\/2011\/02\/goodbye-google-hello-world.html\" target=\"_blank\">though unrelated<\/a>, Pamela Fox, one of the higher-profile support engineers attached to Maps developer relations, left Google for other pursuits.<\/li>\n<\/ul>\n<p>In spite of the above indicators, I started an eBook titled: <em>Google Mapping the Shapefile with Flex, PHP, and PostGIS<\/em>. After four or five chapters, I threw in the towel to enjoy what was left of the summer ..but, maybe that was a good thing, because lo and behold, the <a href=\"http:\/\/googlegeodevelopers.blogspot.com\/2011\/09\/maps-api-for-flash-deprecation.html\" target=\"_blank\">Maps Flash\/Flex API was a dead man walking<\/a>. In their defense, Google saw comparatively less consumption of the Flash\/Flex API vs the JavaScript flagship, so they pulled the plug on the Flash stuff. It&#8217;s an understandable reaction ..but I do wonder if that inertia will eventually affect StreetView, which (I believe) remains in Flash.<\/p>\n<p>I had planned to return to my book\u00a0over the winter, and I was optimistic about re-approaching O&#8217;Reilly with the finished book and a suggestion that it be released as a print title. So clearly I was disappointed by the deprecation announcement. Also, I really like Flex! If I want to make an interactive web map, I&#8217;d rather\u00a0do it with Flex! Where does this leave me?<\/p>\n<p><em>&#8220;..make lemonade.&#8221;<\/em><\/p>\n<p>That was lemons. But it turns out, there&#8217;s a chance to make lemonade. It&#8217;s called <a href=\"http:\/\/openscales.org\/\" target=\"_blank\">OpenScales<\/a>, and it&#8217;s a Flex mapping API with\u00a0some real potential. While investigating OpenScales, I\u00a0had some difficulty finding examples of raw implementations, where the Flex client UI has a\u00a0direct line (PHP) to vector GIS data stored on a PostGIS-enabled PostGREsql database. Fortunately it wasn&#8217;t\u00a0difficult to setup. So,\u00a0rising from the ashes of my failed eBook, and primed by the excitement of finding OpenScales, I decided to start this blog as a place to post OpenScales examples.\u00a0And that&#8217;s exactly what I&#8217;ll do.<\/p>\n<p>In the next few months, I&#8217;ll post several OpenScales examples here, with\u00a0the goal of touching upon the following topics:<\/p>\n<ul>\n<li>Publish\u00a0Shapefile or Personal\u00a0Geodatabase data\u00a0to an OpenScales map\u00a0by\u00a0converting it into usable flatfiles or migrating\u00a0it into a spatially-aware database and pulling it from there.<\/li>\n<li>Load geodata into\u00a0OpenScales from the following formats: XML, JSON, GML, and KML.<\/li>\n<li>Load data faster by enabling AMF support with AMFPHP, et cetera.<\/li>\n<li>Pull WMS and WFS data from 3rd-party sources (I&#8217;m imagining a weather map).<\/li>\n<li>Prepare custom basemap tiles\u00a0for an OpenScales map and either load raster tiles\u00a0direct from the\u00a0filesystem or pull them from\u00a0a PostGIS database.<\/li>\n<li>Publish\u00a0OpenScales-based applications\u00a0to Android devices.<\/li>\n<\/ul>\n<p>If I can do all that in a handful of months, I&#8217;ll be a happy camper, and with a little luck, a few people will stumble across this site and they will be too.<\/p>\n<p>Wild! Stallions!<\/p>\n<p><center><iframe loading=\"lazy\" src=\"http:\/\/www.youtube.com\/embed\/1DsFMJQHbMs\" frameborder=\"0\" width=\"391\" height=\"220\"><\/iframe><\/center><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;When life gives you lemons..&#8221; Let&#8217;s just review the signs: First, the Google Maps Flash\/Flex API had not been updated for quite some time. Meanwhile, some developers were sharing a hack to bypass a nasty initialization bottleneck in the Maps Flash\/Flex API that stalled map loading in AIR apps. At the other end of the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[5,6],"_links":{"self":[{"href":"https:\/\/elrobis.com\/blog\/wp-json\/wp\/v2\/posts\/11"}],"collection":[{"href":"https:\/\/elrobis.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/elrobis.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/elrobis.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elrobis.com\/blog\/wp-json\/wp\/v2\/comments?post=11"}],"version-history":[{"count":10,"href":"https:\/\/elrobis.com\/blog\/wp-json\/wp\/v2\/posts\/11\/revisions"}],"predecessor-version":[{"id":15,"href":"https:\/\/elrobis.com\/blog\/wp-json\/wp\/v2\/posts\/11\/revisions\/15"}],"wp:attachment":[{"href":"https:\/\/elrobis.com\/blog\/wp-json\/wp\/v2\/media?parent=11"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/elrobis.com\/blog\/wp-json\/wp\/v2\/categories?post=11"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/elrobis.com\/blog\/wp-json\/wp\/v2\/tags?post=11"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}