मुझे लगता है कि यह एक दायरा समस्या है। चूंकि ईवेंट को ट्रिगर करने के बाद ट्रिगर किया गया है क्योंकि सभी श्रोताओं num_markers को लूप में अगले चक्र द्वारा हमेशा ओवरराइड किया गया है।Google मानचित्र - किसी ईवेंट में जानकारी पास करें श्रोता
क्या कोई तरीका है कि मैं ईवेंट फ़ंक्शन में चर पास कर सकता हूं?
मैंने इस दृष्टिकोण की कोशिश की लेकिन यह मेरे लिए नहीं था। Google Maps: Event Listener only remembering final value of variable
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
var info_window = new google.maps.InfoWindow();
var markers = [];
function load_markers() {
var bounds_url = map.getBounds().toUrlValue();
$.ajax({
url:'/retailer-markers?bounds='+bounds_url,
dataType: 'json',
success: function(data) {
for(i = 0; i < data.length; i++) {
var marker_pos = new google.maps.LatLng(data[i]['lat'], data[i]['long']);
//Every time the listener event is called this number is the length of the array
var marker_num = get_markers_count();
markers[marker_num] = new google.maps.Marker({
position: marker_pos,
map: map,
title:data[i]['Title'],
icon: image
});
google.maps.event.addListener(markers[marker_num], 'click', function() {
info_window.setContent('hello');
var pos = markers[marker_num].getPosition();
info_window.setPosition(pos);
info_window.open(map, markers[marker_num]);
});
}
}
});
}
कि साथ मार्कर पर सेट किया जा सकता '.get' और' .set' मेरा, चियर्स की एक परियोजना के लिए बहुत मदद की थी! – Kokos
'.set' विधि काम करती है क्योंकि 'google.maps.Marker' वर्ग [' google.maps.MVCObject'] बढ़ाता है (https://developers.google.com/maps/documentation/javascript/reference#MVCObject) – ruhong