我正在尝试在我的地图上使用 API 中的位置放置一些 Google 地图标记。我尝试制作一个计算所有 JSON 数据的 for 循环,并将“驱动程序名称、驱动程序纬度和驱动程序经度”放入数组中。那么这个数组是否应该帮助谷歌地图在地图上标出这些位置。下面的代码示例:
setTimeout(function () {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center: new google.maps.LatLng(62.457171, 17.350953),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var infowindow = new google.maps.InfoWindow();
var marker, i;
var url = "http://blackcab.didair.se/api/drivers";
var name;
var lat;
var lon;
var locations;
$.getJSON(url,
function (response) {
name = response.drivers[n].name;
lat = response.drivers[n].currentLat;
lon = response.drivers[n].currentLon;
for (var n = 0; n < response.drivers.length; n++)
var locations = [
[name, lat, lon, n], ];
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map
});
google.maps.event.addListener(marker, 'click', (function (marker, i) {
return function () {
infowindow.setContent(locations[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
});
}, 3000);
由于我希望它一直重新加载这些位置,因此该代码在一个区间内。我查看了我在 Google Chrome 网络开发工具中遇到的错误,但后来我遇到了更多错误。有一个简单的解决方案吗?一个真正的“胡桃夹子”。
提前致谢!
杰克