gpt4 book ai didi

javascript - 使用javascript循环显示数据

转载 作者:行者123 更新时间:2023-12-03 11:13:09 25 4
gpt4 key购买 nike

我正在尝试获取标记经度和纬度并将它们显示在 map 上,但我没有得到任何结果,我的 parser.php 文件正在工作并从数据库中获取数据,我只需将其格式化为有人懂 JavaScript 吗?

<script type="text/javascript">
function initialize() {
var mapOptions = {
center: { lat: -25.363882, lng: 131.044922},
zoom: 14
};

var map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);

$.getJSON('parser.php', function(items) {
for (var i = 0; i < items.length; i++) {
(function(item) {
addMarker(item.lat, item.lon);
})(items[i]);
}
});

}
google.maps.event.addDomListener(window, 'load', initialize);
</script>

parser.php 输出

[{"0":"33.880561","lat":"33.880561","1":"35.542831","lon":"35.542831"},{"0":"-25.363882","lat":"131.044922","1":"35.513477","lon":"35.513477"}]

最佳答案

addMarker 需要将 map 作为参数。

function addMarker(map, lat, long) {
var latlong = google.maps.LatLng(lat, long);
return new google.maps.Marker({
position: latlong,
map: map
});
}

那么你的循环应该是:

for (var i = 0; i < items.length; i++) {
item = items[i];
addMarker(map, item.lat, item.lon);
}

您不需要将 addMarker 调用放入闭包中,因为这些不是单独的回调。

关于javascript - 使用javascript循环显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27466015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com