x

Nochmal Fragen zum Styling einer Karte


Geschrieben von joergi2012 (Gast) am 14. Februar 2012 21:46:34: [flux]

Hi,

ich beschäftige mich seit kurzem mit "openstreetmap" und bin jetzt dabei, eine Karte für meine Homepage zusammenzubasteln. Da mit das standard Layout nicht gefällt, habe ich mir die Seite

http://www.netzwolf.info/kartografie/op … ombar2.htm

angeschau. Ich habe dann die Datei "my_panzoombar.js" auf meinen Server in das Unterverzeichnis "openlayers" kopiert. Das ganze funktioniert auch soweit. Aber es gibt zwei Probleme:

1. Das neue Styling wird quasi über das original Styling rübergelegt d.h. müßte das original Styling gelöscht werden. Ich weiß aber nicht, wie.
2. Die Zoomleiste wird nicht dargestellt. Wenn ich jedoch die Zeile
<script type="text/javascript" src="openlayers/my_panzoombar.js"></script>
entferne, wird eine Zoomleiste dargestellt. Diese ist jedoch dann viel länger als das original. Ich benötige aber die original Größe der Zoomleiste.

Könnt Ihr mir helfen? hier der Quellcode:

<?php
$lat=51.20418118214776;
$long=7.1737611293792725;

>

<style type="text/css">.olControlAttribution { bottom: 3px!important; }</style>
<script src="http://www.openlayers.org/api/OpenLayers.js">
</script><script src="http://www.openstreetmap.org/openlayers/OpenStreetMap.js">
</script><div id="map" style="width:500px;height:340px;">
</td></tr></table></div>
<script type="text/javascript" src="openlayers/my_panzoombar.js"></script>
<script type="text/javascript">
var map;
function showMap()
{
map = new OpenLayers.Map("map",
{
maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34),
numZoomLevels: 19,
maxResolution: 156543.0399,
units: "m",
projection: new OpenLayers.Projection("EPSG:900913"),
displayProjection: new OpenLayers.Projection("EPSG:4326"),
}
);
map.addControl (new OpenLayers.Control.Attribution());
map.addControl (new OpenLayers.Control.Navigation());
map.addControl (new OpenLayers.Control.PanZoomBar({minZoom: 19}));
OpenLayers.Marker.defaultIcon = function () {
return new OpenLayers.Icon ("symbole/nadel.png", {w:35, h:41}, {x: -10, y:-30});
};

var layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik (updated weekly)");
var layerTah = new OpenLayers.Layer.OSM.Osmarender("Tiles@Home");
map.addLayers([layerMapnik]);
map.setCenter(new OpenLayers.LonLat(<?php echo $long; ?>,<?php echo $lat; ?>).transform(new OpenLayers.Projection("EPSG:4326"),
new OpenLayers.Projection("EPSG:900913")), 14);
map.addLayer(new OpenLayers.Layer.Markers());
var marker = new OpenLayers.Marker(map.getCenter());
marker.events.register("mousedown", marker, function(evt)
{
OpenLayers.Event.stop(evt);
}
);
map.layers[map.layers.length-1].addMarker(marker);
}
showMap();
</script>


Antworten: