विफल रहा है मेरी परियोजना एक निर्दिष्ट अक्षांश और देशांतर सीमा के भीतर भूकंप के बारे में जानकारी प्राप्त करने के लिए एक JSON फ़ीड का उपयोग करती है, अनिवार्य रूप से एक बॉक्स बना रही है। मैं यह जानकारी लेता हूं और सभी परिणामों को Google मानचित्र पर मार्कर में बदल देता हूं। मुझे प्रत्येक मार्कर को कुछ अतिरिक्त जानकारी भी प्रदर्शित करने की आवश्यकता है, इसलिए मैं अंतर्निहित इन्फोविंडो ऑब्जेक्ट्स का उपयोग करने की कोशिश कर रहा हूं जैसे कि जब आप मार्कर पर क्लिक करते हैं तो आप उस मार्कर से जुड़े कुछ जानकारी के साथ टूलटिप खोलते हैं। हालांकि मुझे लगता है कि इससे कोई फर्क नहीं पड़ता कि मैं किस मार्कर पर क्लिक करता हूं, वही infowindow हमेशा उस समूह के उसी मार्कर से ऊपर आता है, और मेरा मानना है कि यह हमेशा मेरे लूप में बनाया गया अंतिम infowindow है। कोड यहाँ है।Google मानचित्र पर एकाधिक मार्करों को एकाधिक InfoWindows को बाध्य करने की कोशिश कर रहा है और
$.getJSON(url, function(json) {
for(var i = 0; i < json.earthquakes.length; i++)
{
var pos = new google.maps.LatLng(json.earthquakes[i].lat, json.earthquakes[i].lng);
var info = json.earthquakes[i].lat + ", " + json.earthquakes[i].lng;
var marker = new google.maps.Marker({
map: map,
position: pos,
title: json.earthquakes[i].eqid
})
var tooltip = new google.maps.InfoWindow({
content: info
})
google.maps.event.addListener(marker, 'click', function() {
tooltip.open(map, marker);
});
markers.push(marker);
tooltips.push(tooltip);
}
});
चिह्न नक्शे और टूलटिप्स पर सभी मार्कर वस्तुओं के लिए एक सरणी है infowindows वस्तुओं के भंडारण के लिए एक और सरणी है। वे वैश्विक हैं।
यह कैसे बंद काम (मार्कर बंद के संदर्भ द्वारा पारित कर दिया है, क्या आप चाहते हैं कि एक प्रति है) के कारण है। लेकिन जब श्रोता को बुलाया जाता है, तो यह 'इस' के साथ ऑब्जेक्ट (मार्कर) का जिक्र करेगा जिसमें श्रोता जोड़ा गया था, ताकि आप 'मार्कर' के बजाय 'this' का उपयोग कर सकें। – herman