New Mapping Mashup Using ESRI, StrikeIron, & OpenKapow
If you haven't used OpenKapow or Yahoo Pipes, you should really look into it. There are endless possibilities of what you can do with those services. Both Yahoo! Pipes and OpenKapow are services that allow you to consume and aggregate data from existing data feeds and web pages, anywhere on the internet, from multiple sources! Both are VERY interesting and VERY powerful and definitely worth a look. I know that OpenKapow has a crossdomain.xml file... I would assume the Yahoo Pipes does too, but I haven't tried it.
My latest mashup is an extension of my Census Mashup that I've already discussed here. The difference is that this is much more powerful and uses ESRI's Flex 2 mapping component (alpha version). I'm still using StrikeIron's Web Services for census information.
I started the new version by trying to find a way to consume data over the internet so that I could type in a U.S. city and state and get a list of all available zip codes for that state. I had seen mention of OpenKapow on Ted Patrick's blog a while back, and figured this was a good place to start (and it definitely was). Browsing their site, I was able to figure out how to make this happen. You need to download their "RoboMaker" software, which allows you to build RSS feeds or REST web services based off of ANY site on the internet. I created a data feed that consumed data from the "Find a Zip Code by City" functionality on www.usps.com. This allowed me pass in any city/state combination to the feed, and would return a list of all available zip codes (excluding PO Box zip codes) in a xml format. You can check it out for yourself here: http://openkapow.com/files/folders/searching/entry7769.aspx.
Once you have the data being pulled back in an XML format, it is very easy to integrate it into Flex. I just used a HTTPService to grab the data form OpenKapow, and displayed it in a datagrid. Changing the selected item on the datagrid triggers the Strikeiron census web service, and updates the ESRI mapping components.
OK, now the actual mashup... The biggest difference in the two mashup versions is that this latest version uses the alpha version of ESRI's Mapping Components. The ESRI mapping components are native to Flex 2. You do not need any special methods or work-arounds to get them to work. I had some problems getting the Yahoo map to behave the way I wanted it to, especially regarding resizing & refreshing data, which are quirks with the Flash 8/Flex 2 interaction over a LocalConnection object. Using ESRI's services also provides you access to their underlying data (which is quite extensive). You have a lot of control over map types (street/satelite/topographical/based on poulation data/etc...) that is very customizable, and be can changed dynamically at runtime.
For quick and easy geocoding, I used the Google Maps API. I set it up so that my application makes a call to Google Maps using ExternalInterface to retrieve latitude/longitude for a zip code using a GClientGeocoder object. On the result of that, the javascript GClientGeocoder makes a call back into the Flex app to update the map.
Here are a few screen shots to whet your appetite...



Feel free to contact me with any questions or comments at andrew.trice[ at ]cynergysystems.com.
My latest mashup is an extension of my Census Mashup that I've already discussed here. The difference is that this is much more powerful and uses ESRI's Flex 2 mapping component (alpha version). I'm still using StrikeIron's Web Services for census information.
I started the new version by trying to find a way to consume data over the internet so that I could type in a U.S. city and state and get a list of all available zip codes for that state. I had seen mention of OpenKapow on Ted Patrick's blog a while back, and figured this was a good place to start (and it definitely was). Browsing their site, I was able to figure out how to make this happen. You need to download their "RoboMaker" software, which allows you to build RSS feeds or REST web services based off of ANY site on the internet. I created a data feed that consumed data from the "Find a Zip Code by City" functionality on www.usps.com. This allowed me pass in any city/state combination to the feed, and would return a list of all available zip codes (excluding PO Box zip codes) in a xml format. You can check it out for yourself here: http://openkapow.com/files/folders/searching/entry7769.aspx.
Once you have the data being pulled back in an XML format, it is very easy to integrate it into Flex. I just used a HTTPService to grab the data form OpenKapow, and displayed it in a datagrid. Changing the selected item on the datagrid triggers the Strikeiron census web service, and updates the ESRI mapping components.
OK, now the actual mashup... The biggest difference in the two mashup versions is that this latest version uses the alpha version of ESRI's Mapping Components. The ESRI mapping components are native to Flex 2. You do not need any special methods or work-arounds to get them to work. I had some problems getting the Yahoo map to behave the way I wanted it to, especially regarding resizing & refreshing data, which are quirks with the Flash 8/Flex 2 interaction over a LocalConnection object. Using ESRI's services also provides you access to their underlying data (which is quite extensive). You have a lot of control over map types (street/satelite/topographical/based on poulation data/etc...) that is very customizable, and be can changed dynamically at runtime.
For quick and easy geocoding, I used the Google Maps API. I set it up so that my application makes a call to Google Maps using ExternalInterface to retrieve latitude/longitude for a zip code using a GClientGeocoder object. On the result of that, the javascript GClientGeocoder makes a call back into the Flex app to update the map.
Here are a few screen shots to whet your appetite...



Feel free to contact me with any questions or comments at andrew.trice[ at ]cynergysystems.com.





0 Comments:
Post a Comment
<< Home