-1

У меня есть небольшая проблема в моем JS,Google Map API все infowindows does't показать

Когда я парить все мои различные знаки, они не показывают, я думаю, что я понимаю, почему, но я не знаю, как чтобы исправить это

Так что мой код:

for (var i = 0; i < latLng.length; i++) { 
    var mark = new google.maps.Marker({ 
     map: map, 
     animation: google.maps.Animation.DROP, 
     position: latLng[i] 
    }); 

    var info = new google.maps.InfoWindow({ 
     content: contentString[i] 
    }); 

    mark.addListener('mouseover', function() { 
     info.open(map, mark); 
     setTimeout(function() {infowindow.close()}, 5000); 
    }) 

    mark.addListener('click', function() { 
     map.setZoom(15); 
     map.setCenter(myLatLng); 
    }); 
} 

latLng массив с элементами, как {lat: alatitude, long: alongitude} и contentString массив с пунктом, как «привет» это показать мне все знаки, но показать infoWi ndows только на моем последнем знаке

Я думаю, что это потому, что мои вары стираются следующими варами Я пытался использовать такие массивы, как down, но это не работает.

for (var i = 0; i < latLng.length; i++) { 
    var marks = new Array(); 
    var infos = new Array(); 

    marks.push(new google.maps.Marker({ 
     map: map, 
     animation: google.maps.Animation.DROP, 
     position: latLng[i] 
    })); 

    infos.push(new google.maps.InfoWindow({ 
     content: contentString[i] 
    })); 

    marks[i].addListener('mouseover', function() { 
     infos[i].open(map, marks[i]); 
     setTimeout(function() {infowindow.close()}, 5000); 
    }) 

    marks[i].addListener('click', function() { 
     map.setZoom(15); 
     map.setCenter(myLatLng); 
    }); 
} 

ответ

0

я изолирован эту часть в функции, и она работает:

var mark = new google.maps.Marker({ 
     map: map, 
     animation: google.maps.Animation.DROP, 
     position: latLng[i] 
    }); 

    var info = new google.maps.InfoWindow({ 
     content: contentString[i] 
    }); 

    mark.addListener('mouseover', function() { 
     info.open(map, mark); 
     setTimeout(function() {infowindow.close()}, 5000); 
    }) 

    mark.addListener('click', function() { 
     map.setZoom(15); 
     map.setCenter(myLatLng); 
    }); 

 Смежные вопросы

  • Нет связанных вопросов^_^