x

OpenLayers map.setCenter vs Permalink


Geschrieben von SunCobalt (Gast) am 02. Oktober 2010 15:27:19: [flux]

Hallo,

ich beschäftige mich gerade mit OpenLayers, bzw versuche es. Ich wollte eigentlich am Anfang erstmal nur eine ganze einfache Karte mit Permalink. Aber schon da scheitere ich. Leider sind die einfachen Beispiele alle ohne Permalink.
Folgendes Problem. Wenn ich map.setCenter aktiviere, wird ein Permalink ignoriert und die Karte springt immer wieder zu den bei map.setCenter definierten Koordinaten. Deaktiviere ich map.setCenter, funktioniert der Permalink, aber die Karte startet mit einer weißen Fläche. Erst mit einmal reinzoomen sieht man die ganze Erde. Wie kann ich beides haben, Permalink und festen Startpunkt. Anbei die .html. Wäre nett, wenn mich jemand in die richtige Richtung schubsen könnte.

<html>
<head>
<title>OpenLayers</title>
<style␣type="text/css">
html,␣body,␣#basicMap␣{
width:␣100%;
height:␣100%;
margin:␣0;
}
</style>
<script␣src="http://www.openlayers.org/api/OpenLayers.js"></script>
<script>
function␣init()␣{
map␣=␣new␣OpenLayers.Map("basicMap");
var␣mapnik␣=␣new␣OpenLayers.Layer.OSM();
map.addLayer(mapnik);
map.addControl(new␣OpenLayers.Control.Navigation());␣//␣what␣makes␣the␣map␣pannable␣by␣dragging
map.addControl(new␣OpenLayers.Control.LayerSwitcher());
map.addControl(new␣OpenLayers.Control.Attribution());
//␣␣␣␣␣␣map.addControl(new␣OpenLayers.Control.Permalink());
map.addControl(new␣OpenLayers.Control.ScaleLine());
map.setCenter(new␣OpenLayers.LonLat(19.66,46.10)␣//␣Center␣of␣the␣map
.transform(
new␣OpenLayers.Projection("EPSG:4326"),␣//␣transform␣from␣WGS␣1984
new␣OpenLayers.Projection("EPSG:900913")␣//␣to␣Spherical␣Mercator␣Projection
),␣15␣//␣Zoom␣level
);
}
</script>
</head>
<body␣onload="init();">
<div␣id="basicMap"></div>
</body>
</html>

Antworten: