LoadPin est une fonction pour ajouter un marqueur à une carte. Il initialise la couche sur le premier appel. Carte est un objet de carte OpenLayers.
mais à l'aide de Map.Removelayer ("marqueurs") ou "marqueurs", ne supprime pas les marqueurs de la carte. J'ai vu une mention d'une opération de destruction pour le faire, mais je ne peux pas trouver cela. P>
et, comment puis-je supprimer les popups? P>
var markers = null function LoadPin(LL, name, description) { var size = new OpenLayers.Size(36, 47); var offset = new OpenLayers.Pixel(-(size.w / 2), -size.h); var icon = new OpenLayers.Icon('http://www.waze.co.il/images/home.png', size, offset); if (markers == null) { markers = new OpenLayers.Layer.Markers("Markers"); map.addLayer(markers); } var marker = new OpenLayers.Marker(LL, icon) markers.addMarker(marker); var bounds = markers.getDataExtent(); map.zoomToExtent(bounds); map.addPopup(new OpenLayers.Popup.FramedCloud("test", LL, null, "<div style='font-family:Arial,sans-serif;font-size:0.8em;'>" + name + "<br>" + description + "</div>", anchor = null, true, null)); }
3 Réponses :
Vous pouvez éliminer les marqueurs individuels d'une couche de marqueur avec: Retrait de la couche entière, les marqueurs doivent être obtenus avec: P> map.removePopup(popup);
Travaillé comme un charme! Merci!
Je sais que ce message est vieux, mais pour supprimer tous les marqueurs de la liste de la couche de marqueur Utilisez:
markerLayer.clearMarkers();
J'aime cette méthode, mais incertaine la pertinence de Docs Desc: "Cette méthode supprime tous les marqueurs d'une couche. Les marqueurs ne sont pas détruits par cette fonction, mais sont supprimés de la liste des marqueurs."
@Haydenthhring s'il n'y a pas d'autre référence à eux, ils seront recueillis.
Essayez l'un des codes ci-dessous, j'espère que cela vous aidera.
this.markerSource.removeFeature(iconFeature);