/ / google map javascript read json for loop - जावास्क्रिप्ट, json, google-Maps, for-loop

गूगल मैप जावास्क्रिप्ट पढ़ने के लिए जेसन में पढ़ें - जावास्क्रिप्ट, जेसन, गूगल-मैप्स, फॉर-लूप

नमस्ते मैं जावास्क्रिप्ट के लिए नया हूँ।इस मामले में "ऑब्जेक्ट" "js" एक्सेस करने का सबसे अच्छा तरीका क्या है, ताकि मैं प्रत्येक मार्कर को एक अलग सामग्री बना सकूं? अभी प्रत्येक मार्कर समान कुंजी मान (अंतिम कुंजी मान) प्रदर्शित करता है

js = JSON.parse(jss);

var infowindow;
infowindow = new google.maps.InfoWindow({
content: js.length + " " + iter//String(jss.length)
});
var iter = 0;

for (var key in js){

mark = new google.maps.Marker({
position: new google.maps.LatLng(key*0.5,key*0.5),
map: map,
title: "Uluru (Ayers Rock)"
});

google.maps.event.addListener(mark, "click", function(){
infowindow.setContent(key.toString());
infowindow.open(map,this);
});
}

उत्तर:

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

इसके बजाय, लूप के लिए करने की कोशिश करें,

for (var i=0; i<js.length; i++) {
mark = new google.maps.Marker({
position: new google.maps.LatLng(js[i]*0.5,js[i]*0.5),
map: map,
title: "Uluru (Ayers Rock)"

}

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

हर बार लूप निष्पादित होने पर आपको अपने ऑनक्लिक फ़ंक्शन में पास होने के लिए कुंजी की एक प्रति संग्रहीत करने की आवश्यकता होती है, जैसे कुछ:

s = JSON.parse(jss);

var infowindow;
infowindow = new google.maps.InfoWindow({
content: js.length + " " + iter//String(jss.length)
});
var iter = 0;

for (var key in js){

var mark = new google.maps.Marker({
position: new google.maps.LatLng(key*0.5,key*0.5),
map: map,
title: "Uluru (Ayers Rock)"
});
var keystring=key.toString();
google.maps.event.addListener(mark, "click", function(){
infowindow.setContent(keystring);
infowindow.open(map,this);
});
}