Marker auf Openstreetmap Karte neu laden

skyliner905

Grünschnabel
Hallo,
ich möchte gerne auf einer Seite eine Openstreetmap Karte einbinden und mit mehreren Markern (Adressen) versehen. Diese Marker sollen verschiedenen Kategorien angehören und per Checkbox abwählbar sein und dann nicht mehr auf der Karte angezeigt werden.
Es müsste also entweder die ganze Karte mit den restlichen Markern neu geladen werden oder bestimmte Marker direkt entfernt werden können.

Leider kenne ich mit Javascript überhaupt nicht aus und wollte daher mal nachfragen ob sowas überhaupt möglich ist und wenn ja wie am besten?

Ich hab das ganze mal als kleines Beispiel mit Karte und Checkboxen erstellt:
http://www.file-upload.net/download-8864112/Beispiel-Map.rar.html

Könnten Ihr euch das Beispiel mal anschauen und sagen was es für Möglichkeiten gitb?
 
Benutze mehrere OpenLayers.Layer.Markers, je einen für jede Kategorie:

Code:
var layer_markers_cat1  = new OpenLayers.Layer.Markers("cat1", { projection: new OpenLayers.Projection("EPSG:4326")});
var layer_markers_cat2  = new OpenLayers.Layer.Markers("cat2", { projection: new OpenLayers.Projection("EPSG:4326")});
map.addLayer(layer_markers_cat1);
map.addLayer(layer_markers_cat2);

Dann füge die marker entsprechend ihrer Kategorie den Layers hinzu:

Code:
 addMarker(layer_markers_cat1, 12.1155, 54.07866, "test1",false);
 addMarker(layer_markers_cat2, 12.1455, 54.02866, "test2",false);
 addMarker(layer_markers_cat1, 12.1155, 54.09866, "test3",false);
 addMarker(layer_markers_cat2, 12.1455, 54.04866, "test4",false);

Willst du jetzt marker einer bestimmten Kategorie von der Map entfernen, entferne nur den layer dem sie zugeordnet sind,

Code:
//Marker der kategorie 1 entfernen
map.removeLayer(layer_markers_cat1);

Um die marker wieder anzuzeigen benutze wieder addLayer:
Code:
map.addLayer(layer_markers_cat1);
 

Neue Beiträge

Zurück