Mit dem aktuellen Code für Google Maps API, die ich auf Stackoverflow gefunden habe, muss ich alle Marker ausblenden, bis auf einen geklickt, wie kann ich es tun?Ausblenden bestimmter Marker google maps api
Nicht einmal sicher, wie Sie es angehen?
Ich denke, es hat mit JS-Schließungen zu tun, aber kein Experte dafür.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Google Maps Multiple Markers</title>
<script src="http://maps.google.com/maps/api/js?sensor=false"
type="text/javascript"></script>
</head>
<body>
<div id="map" style="width: 500px; height: 400px;"></div>
<script type="text/javascript">
var locations = [
['Bondi Beach', -33.890542, 151.274856, 4],
['Coogee Beach', -33.923036, 151.259052, 5],
['Cronulla Beach', -34.028249, 151.157507, 3],
['Manly Beach', -33.80010128657071, 151.28747820854187, 2],
['Maroubra Beach', -33.950198, 151.259302, 1]
];
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center: new google.maps.LatLng(-33.92, 151.25),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var infowindow = new google.maps.InfoWindow();
var marker, i;
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(locations[i][0]);
infowindow.open(map, marker);
//hide marker clicked
marker.setVisible(false);
}
})(marker, i));
}
function hide_some_markers() {
alert("what to do here?");
}
</script>
</body>
</html>
EDIT: Zur Zeit Marker auf, klicken sie versteckt Marker, der angeklickt wurde, , was ich tun müssen, ist alle Marker mit einer Ausnahme zu verstecken, auf den geklickt wurde, wenn ich die Karte klicken sollte es wiederherstellen alle versteckten Marker.
ja marker.setvisible funktioniert aber wenn allMarkers.push (marker); AllMarkers kommt leer aus. Kannst du tatsächlich arbeiten Beispiel ich habe meine Frage aktualisiert. –
wo hast du die allMarkers deklariert? ist es im bereich deiner häute fn? Ich werde versuchen, in einiger Zeit eine Geige zu schaffen und zu veröffentlichen. Durchschnittliche Zeit, die Sie den Code teilen können, den Sie ausprobiert haben. – Raghuveer