[OpenLayers-Dev] Announcing OpenLayers.Layer.Map24 :)

Thorsten Liese thorsten.liese at componio.net
Mon Aug 27 10:41:26 EDT 2007


Hi OpenLayers developers,

as some of you may have already heard, I've implemented a first version
of the OpenLayers.Layer.Map24 class to add support for the Map24 provider.

Check it out, here's a demonstration page:

http://dev.openlayers.org/sandbox/thliese/openlayers/examples/map24.html

Of course, it's just a first "beta version" and there may still be some
bugs or issues that need to be fixed. I'm also not an OpenLayers expert
(there are probably some test cases that I am not aware of) so I would
really appreciate your feedback :)

The source is available in my sandbox at

http://svn.openlayers.org/sandbox/thliese/openlayers/lib/OpenLayers/Layer/Map24.js

Using the new class is - similar to the google layer - as
simple as this:

Include the scripts:

<script type="text/javascript"
src="http://api.maptp.map24.com/ajax?appkey=YOURKEY"></script>
<script type="text/javascript"
src="../lib/OpenLayers.js"></script>

Create the Map24 layer:

var map = new OpenLayers.Map("mapDiv");
var map24Layer = new OpenLayers.Layer.Map24("Map24");
map.addLayer(map24Layer);

Please see
http://svn.openlayers.org/sandbox/thliese/openlayers/examples/map24.html
for additional usage information).


Some notes about the implementation:

* Since the initialization of the Map24 map is asynchronous (callback),
the loadMapObject function simply sets a placeholder value for the
this.mapObject field. Is there a better way to handle an asynchronous
initialization using the OpenLayers API?

* There is no reliable way (at least I haven't found one) to tell the
Map24 API to display a map with a certain resolution or to display a
specific rectangle of geo coordinates. The only reliable information
information about the current map is obtained through an asynchronous
callback function called mapViewChanged, which calls this.map.setCenter
to manually redraw the other layers. Because the painting of the Map24
happens asynchronously, panning also looks a bit weird because the
painting of the map is a bit "behind" the other layers - any ideas as to
how to get rid of this effect?

* I'm not really satisfied with the results when using a zoom box. Did I
implement the getZoomForExtent function correctly?

Thanks to you all for this great API - I'm looking forward to your
comments & suggestions,

greetings from Darmstadt, Germany,
Thorsten Liese

-- 
componio GmbH
Robert-Bosch-Straße 7
D - 64293  Darmstadt
Tel:	+49.6151.500.367.12
Office:	+49.6151.500.367.0
Fax:	+49.6151.500.367.6
Internet: http://www.componio.net
E-Mail:	componio at componio.net
HRB 9624 - Registergericht Amtsgericht Darmstadt




More information about the Dev mailing list