/ / Google मानचित्र v3, रिवर्स जियोकोडिंग और एकाधिक इन्फॉइंडो - Google-नक्शे, infowindow, रिवर्स-जियोकोडिंग

Google मानचित्र v3, रिवर्स जियोकोडिंग और एकाधिक इन्फॉइंडो - Google-नक्शे, infowindow, रिवर्स-जियोकोडिंग

मैं एक Google मानचित्र v3 पर काम कर रहा हूँ। इस मानचित्र पर मैं प्रत्येक इंफॉइंडो के साथ कई मार्कर प्रदर्शित करना चाहता हूं जहां उस बिंदु के बारे में कुछ जानकारी दिखाती है। जानकारी का स्रोत प्रत्येक बिंदु के लिए कुछ डेटा के साथ एक जावास्क्रिप्ट सरणी है, और यहां सब कुछ ठीक काम करता है। सरणी में पता (SOMETIMES) पता (कभी-कभी शून्य) और हमेशा लेट-लम्बा निर्देशांक होता है, इसलिए जब पता मौजूद नहीं होता है तो मुझे एक रिवर्स-जियोकोडिंग करना होता है। यहां मेरा कोड:

var geocoder = new google.maps.Geocoder();
for(var i=0;i<markersArray.length;i++){
var la=markersArray[i][0]);
var lo=markersArray[i][1]);
gpoint=new google.maps.LatLng( la,lo);
var aMarker = new MarkerWithLabel({   //part of Google Maps Utility Lib
position: gpoint,
map: map,
labelContent: deviceID,
labelAnchor: new google.maps.Point(22, 0),
labelClass: "labelStyle",
html: "<ul><li>Speed: "+markersArray[i][3]+"</li></ul>",
address: markersArray[i][4]
});
if (aMarker.address<="" || aMarker.address==null) {
geocoder.geocode({"latLng": gpoint}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[1]) {
aMarker.address=results[1].formatted_address;
}
}
});
}
google.maps.event.addListener(aMarker, "click", function () {
infowindow.setContent(this.html+" "+this.address);
infowindow.open(map, this);
});

....
}

लगभग सबकुछ ठीक है: मार्कर स्थिति में हैं और वे सभी सही पते के साथ सही infowindow दिखाते हैं, जहां पते खाली थे और रिवर्स-geocoding थे। इस अंतिम सेट के लिए केवल अंतिम एक मार्कर इन्फॉविंडो सही पता दिखाता है, अन्य सभी infowindow पते खाली हैं। कोई उपाय? बहुत धन्यवाद!

उत्तर:

जवाब के लिए 0 № 1

इसे ठीक करने का एक तरीका एक ऐसा फ़ंक्शन बनाना है जो रिवर्स जियोकोडिंग करता है और इसमें इन्फॉइंडो और मार्कर पर फ़ंक्शन बंद हो सकता है।

चूंकि रिवर्स जियोकोड ऑपरेशन असीमित है, इसलिए लौटाया गया पता अंतिम मार्कर को छोड़कर किसी के लिए उपलब्ध नहीं है।