我有数组:从JS数组添加标记到谷歌地图
var stops = [];
stops[1] = {name:'One', lat:51.9219465100951 ,long:-8.61797176722262};
stops[2] = {name:'Two', lat:51.9270744 ,long:-8.6105043};
stops[3] = {name:'Three)', lat:51.9254898 ,long:-8.6100269};
我通过努力环和在地图上显示这些标记物......
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 51.933596, lng: -8.578540},
zoom: 14,
mapTypeId: 'hybrid'
});
for(var i=0; i<=stops.length; i++){
var mypos = {stops[i].lat, stops[i].long};
var marker = new google.maps.Marker({
position: mypos,
map: map,
title: stops[i].name
});
}
}
没有标志物正在绘制在地图上。
我收到了一个意外的令牌错误[在以下行上。 var mypos = {stops [i] .lat,stops [i] .lng};
我已经改变了这一点,但仍然无法让它工作。
谢谢您更改为LatLng对象。它正确地放置标记,但也显示错误:“未捕获的TypeError:无法读取未定义的属性'lat' –
您的for循环看起来像是要多一轮。数组是零索引的,所以它首先触发停止[0],这是未定义的。在for循环中使用'<'not'<=',并将数组声明为@charlietfl(不指定位置)。 – LinuxDisciple