Status
automated voice on the Utility Service phone is creepily alive
Location
1055 N Nelson St, Arlington, VA
Subscribe to GeoRSS Subscribe to KML


Mapstraction

GeoPress/WP 2.4.1

Published in GeoPress, Mapstraction


WordPress › GeoPress « WordPress PluginsGeoPress, the WordPress plugin that makes it very easy to add location, maps, Microformats, GeoRSS, and KML to your blog, was has been neglected for awhile. Some very nice users have sent in bug reports and I’ve been working through these and update the v2.4beta to 2.4.1 today. You should be getting it from the WordPress Plugin repository. This way you get notified when new versions are available. If only WordPress had a simple mechanism for upgrading plugins without requiring downloading zip files and shell/FTP access.

Please let me know if you run into any issues. There had been numerous bugs in the beta - and I think most of these have been ironed out. I also updated the KML to use KML 2.2 and some simple atom links to your blog and post authors.

Also, the geopress_map function has some nice functionality for being embeddeable in Archive, Category, and Search pages. Right now the function signature is a little long, but if you want to have all your markers for a category or search show up in the map, you use the following in your template (assuming you want your map to be (200px high, 400px wide)



This will embed the map with unlimited (-1) locations from the category (unless you have lots of geo-posts in a single view). Check out my conference blog post archive.

There have been numerous requests for per-item and categorical styling. This shouldn’t be too hard to add. And also per-post zoom and map types. Also I will be updated GeoPress/MovableType to converge on the same feature-set.

Also - if you have any updates/patches/suggestions for GeoPress - chime in (and contribute code :)


Using Google Ditu maps with Satellite imagery for China

Published in Chinese, Maps, Mapstraction, OpenStreetMap


Erik Wilde was pointing out the disparities between Google Maps and Google Ditu, or their Chinese version of maps. However, Google Ditu doesn’t have satellite imagery.

There are several easy ways to fix this. The first was to look at the Ditu tiles, and confirm they are the same as Google’s nominal tiling scheme. Which means you can add the China Street tiles as a simple GTileLayerOverlay with Google Maps standard satellite view underneath. This was incredibly easy with Mapstraction and I put up a demo here.

China Map overlay using Mapstraction

For bonus points I even added a Mapufacture syndicated feed of Erik’s venues for LocWeb2008 and nearby Wikipedia articles from Geonames.

The other way

The terms of how mixing Google’s various tiles together isn’t clear. So the other way to address his issue is to use the freely available data.

Namely, OpenStreetMap for roads, OpenAerialMap or other remote imagery, and run in OpenLayers. Here is the same map done with open data and open source. The resolution or completeness isn’t there yet, but you can see where it’s going and the ability to be use the information as you want is very appealing.

China Map overlay using OSM, OAM, OL


Mapstraction adds support for OpenLayers

Published in Mapstraction, Technology


OpenLayers MapstractionMapstraction, the mapping abstraction library (write once, use any map provider) recently added increased support for OpenLayers, the very powerful, open-source Javascript mapping library. With this support Mapstraction users can now easily use the open-source OpenLayers API that is free from potentially restricting terms of service, or even use in offline and intranet applications.

You can see a demo of OpenLayers here or grab the latest revision here (r163 as of this posting).

This effort was headed up by Henri Bergius (aka Bergie), of Midgard fame, and now Mapstraction-OpenLayers will be supported in the Midgard CMS. Read more on Bergie’s blog.

In addition, by default the Mapstraction-OpenLayers creation uses the OpenStreetMap tiles, therefore no longer requiring a Google Maps API key just to use OSM in Mapstraction.

Why wrap one wrapper in another?

At conferences and get togethers, the devs and users of Mapstraction and OpenLayers frequently ask the question “What’s the difference between Mapstraction and OpenLayers?”

The primary distinction between the libraries is a difference in objective. Mapstraction seeks to provide a simple wrapper to meet the primary needs of a mapping user. The purpose being to make it easy for a user to read a single API and then easily switch to any of the major providers. By contrast, OpenLayers provides a very powerful, but potentially complex, interface that allows for bringing in content from OGC services, data feeds, overlays, and tile servers.

With Mapstraction generally targeting the ‘lowest-common denominator’ of all the API’s there isn’t built-in support for the additional capabilities of OpenLayers for layers, drawing, and services. However, Mapstraction goes provide a simple mechanism for gaining access to the underlying mapping provider such that a developer can utilize Mapstraction for the 80% of their development, and then access the remaining 20% provider specific capabilities directly.

All you need to do is call getMap() on the Mapstraction object to get the underlying OpenLayers object and go to town.

With this new support, it now brings Mapstraction up to 9 supported map interfaces (Yahoo, Google, Microsoft, Map24, MultiMap, MapQuest, FreeEarth, OpenLayers, OpenStreetMap). If you are a map provider and would like to find out how to be the 10th provider feel free to email the dev team - mapstraction@lists.mapstraction.com.