The Map API Showdown

I also encountered a weird behavior, which I feel is a bug: when zooming into the map, either by double-clicking with the mouse or using the zoom control, the zoom control disappears (at least in my comparison example). But I would attribute that to the fact that this API is very new and I would think this will be fixed soon. Looking at the playground, Ovi Maps seems to offer some interesting features in addition to standards like routing, placement of markers, rendering geo shapes and exposing map events in JavaScript. Included in the API are the abilities to render SVG and text inside a graphics context (which might just be an abstraction layer to native SVG capabilities in the browser), as well as an abstraction layer for canvas (at least I believe that is what this is).

The quality of the imagery is not that outstanding, however, the satellite images Ovi has for Europe are much better than what, e.g. Google offers. You can see for yourself if you search for Helsinki in my comparison example and zoom in to the max on both the Google and the Ovi Map.

Resources

Yahoo Maps API

The Yahoo Maps API has not received an update for quite a while, the version I had included in my old post was 3.4, the most current one is 3.8. Besides the Ajax API, Yahoo Maps still offers the Flash version (although one could argue how useful this still is, considering how powerful JavaScript has become in recent years), as well as a REST API for requesting static map images (great for non-JS solutions) and support for GeoRSS.

The landing page for the Ajax API documentation has a lot of copy & paste examples right there, including a small description and a unique URL to display the full example. They also offer a bunch of cheat sheets, which I personally don’t use because they get outdated quickly (I’d rather have good up-to-date online documentation with explanatory examples and well-structured API docs). You can download the examples plus the cheat sheets bundled together in one zip file to explore on your own machine.

The actual API documentation is, by far, not as fancy as Ovi’s, but it somehow serves me much better. For example, if you would like to know which method to call in order to set the zoom level on the map, I just use Strg+F (or ⌘+F on Mac) searching for ‘zoom’ in the browser. After a few hits on ‘next’, I found setZoomLevel(zlevel). Without having to click myself through a class hierarchy structure.

Similar to Ovi, Yahoo Maps requires that type, zoom and pan controls are added separately and are not part of the initial instantiation.

// instantiation ymap = new YMap(Y.Node.getDOMNode(Y.one('#ymap')), YAHOO_MAP_REG, new YSize(500, 300)); // center on default location ymap.drawZoomAndCenter(new YGeoPoint(mapOptions.lat, mapOptions.lng), 8); // add controls as ymaps does not provide them per default ymap.addTypeControl(); // Add the zoom control. Long specifies a Slider versus a "+" and "-" zoom control ymap.addZoomLong(); // Add the Pan control to have North, South, East and West directional control ymap.addPanControl();

Page 2 of 5 | Previous page | Next page