Marker bei bestimmter Zoomstufe ausblenden

Hi,

ich arbeite seit gestern mit der openstreetmap API. Ich verwendete bisher die Google Map API.

Beim Erstellen einer Map habe ich mich an dieses Tutorial gehalten: http://wiki.openstreetmap.org/wiki/OpenLayers_Marker Soweit so gut!

Bei der Google Maps API konnte man beim Erstellen eines Markers angeben, in welchem Zoombereich dieser angezeigt wird. Gibt es eine Möglichkeit so etwas bei der openstreetmap api auch anzugeben? Hab weder im Forum noch bei google was gefunden. Ich hoffe hier kann mir jemand helfen.

Vielen Dank für Antworten.

Schau mal hier. Eigentlich das gleiche Problem, du müsstest dem layer mit den Markern noch ein maxResolution und minResolution mitgeben…

Gut, das hat mir auch gefehlt.

var pois = new OpenLayers.Layer.Text( “My Points”,
{ location:“./textfile.txt”,
projection: map.displayProjection,
maxResolution: 77
});
map.addLayer(pois);

Aber wie komme ich vom Beispiel oben hier zum Ziel?

map.addLayer (new OpenLayers.Layer.PopupMarker(“newlayer”, {
createIconFromData: function (data) {
return new OpenLayers.Icon (“icons/”+data.pan+“.png”, {w:30,h:30});
},
createHtmlFromData: function (data) {
return “

”+this.html(data.town)+" usw usw…";},
location: “datei.csv”}
));

Das ist doch eine andere Funktion, wo und wie muss ich da “maxResolution” einfügen?
Danke für eine Hilfe!

Hi !

es gibt auch einen Weg die Berechnung der Werte für die Zoomstufen zu umgehen:

vectorLabelLayer0 = new OpenLayers.Layer.Vector(“label_country”, {maxResolution: map.getResolutionForZoom(4), minResolution: map.getResolutionForZoom(8) });

Gruß Jan :slight_smile:

Kann ich nur raten, ich finde gerade keine Definition oder Quelltext-Beispiel zum abkupfern für “OpenLayers.Layer.PopupMarker”. Ich würde es hier probieren…

map.addLayer (new OpenLayers.Layer.PopupMarker(“newlayer”, {
createIconFromData: function (data) {
return new OpenLayers.Icon (“icons/”+data.pan+“.png”, {w:30,h:30});
},
createHtmlFromData: function (data) {
return “

”+this.html(data.town)+" usw usw…";},
location: “datei.csv”,maxResolution: 77}
));

Vielen Dank! Meine Wünsche sind erfüllt!