Witaj, to może być naprawdę głupie pytanie, ale próbuję sprawić, by znaczniki zniknęły po kliknięciu na . Znacznik jest umieszczony poprawnie na mapie, ale kiedy go klikam, nie robi nic. Zastanawiałem się, dlaczego nie działa. Dziękuję Ci!Jak ukryć znaczniki Google Api Marker za pomocą jQuery
<script type="text/javascript" src="jQuery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var myOptions = {
center: new google.maps.LatLng(40.1, -88.2),
zoom: 13,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var myLatlng = new google.maps.LatLng(40.1, -88.2);
var temp_marker = new google.maps.Marker({
position: myLatlng,
map: map,
title:"Hello World!"
});
console.log($(temp_marker));
console.log(temp_marker);
//temp_marker.click(function(){$(this).hide();});
$(temp_marker).click(function(){console.log("click is working"); $(this).hide();});
});
</script>
</head>
<body>
<div id="map_canvas" style="width:100%; height:100%"></div>
</body>
Czy to oznacza, że nie mogę zastosować jQuery w większości obiektów w Mapach Google? – wayfare
@wayfare the Maps API umieszcza warstwę abstrakcji pomiędzy tworzonymi przez nią elementami DOM dla znaczników i implementatora. Mogą istnieć wskazówki dotyczące bezpośredniego dostępu do elementów DOM, ale nie ma obsługiwanych ścieżek. Każda próba manipulowania elementami bezpośrednio ulegnie zniszczeniu, gdy tylko Mapy Google dokonają wewnętrznej zmiany; może również nie działać w różnych przeglądarkach. –
Po dodaniu opcji zoptymalizowanej: false w deklaracji znacznika można uzyskać do niej dostęp za pomocą jQuery, ale interfejs API resetuje całą konfigurację do domyślnych podczas przesuwania mapy, powiększania lub pomniejszania, z tego powodu najlepszym sposobem jest używać setVisible, ponieważ zachowa tę konfigurację. – Corner