我試圖把谷歌地圖我的標誌,並添加信息窗口中的每個單獨的標記。我得到無法在該行讀的不確定屬性「姓名」後,我點擊標記之一:添加事件偵聽到JavaScript數組
markers[i].name.open(map, marker);
以下是完整的腳本:
function initMap() {
var map = new google.maps.Map(document.getElementById("map"), {
zoom: 3,
// zoom in on current location if available (not done yet...)
center: new google.maps.LatLng(5,5)
});
var markers = [
// put all markers in a markers array
@foreach ($markers as $marker)
new google.maps.Marker({
position: { lat: {{$marker->x}}, lng: {{$marker->y}} },
// infowindow for each marker with its name
name: new google.maps.InfoWindow({
content: "{{$marker->name}}"
})
}),
@endforeach
];
for (var i = 0; i < markers.length; i++) {
// add eventlistener for the infowindow we added earlier
google.maps.event.addListener(markers[i], 'click', function() {
markers[i].name.open(map, marker);
});
// add marker to map
markers[i].setMap(map);
}
}
我使用Laravel 5.1使用Blade模板引擎。
邏輯看起來不錯,什麼是ü越來越如果u放的console.log(標記)之前最後的循環?我對刀片和刀片瞭解不多,但我在角度上做了這件事。只要看看如果所有的標記在你移動到下一個循環之前都在數組中 –
@aishwatsingh希望這張圖片可以:http://i.imgur.com/CqCQ6Ff.png。標記顯示在地圖上,因此它們肯定在陣列中。 – Alexander
這就是說,當您在標記上執行點擊功能時,name屬性是未定義的。我會說名稱屬性需要正確的定義。你有沒有在任何地方生活? – mdarmanin