gpt4 book ai didi

javascript - Google Maps API v3 : Geocoding Reversal, 仅打印出一个标记(javascript)

转载 作者:行者123 更新时间:2023-11-28 02:40:27 28 4
gpt4 key购买 nike

对代码进行了更改,将依赖数据放入函数中,该函数将正确的值返回到信息窗口而不是 UNDEFINED。

问题来了,只打印了一个标记。

    var geocoder;
var map;

function load() {
geocoder = new google.maps.Geocoder();
map = new google.maps.Map(document.getElementById("map"), {
center: new google.maps.LatLng(57.699322, 11.951093),
zoom: 6,
minZoom: 6,
maxZoom: 18,
mapTypeId: 'roadmap'
});
var infoWindow = new google.maps.InfoWindow;

// Get the xml data
downloadUrl("functions.php", function(data) {
var xml = data.responseXML;
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var point = new google.maps.LatLng(markers[i].getAttribute("lat"),markers[i].getAttribute("lng"));

codeLatLng(point, function(addr){
var name = markers[i].getAttribute("name").replace("_"," ");
var html = '<div class="markTitle">' + name.replace("_"," ") + '</div>'
+ '<div class="markAddress">'+addr+'</div>'
+ '<a class="markLink" href="http://www.wikiplace.se/index.php?title='+ name +'">'
+ 'Läs mer om '+ name.replace("_"," ") + ' här...</a>';
var marker = new google.maps.Marker({
map: map,
position: point,
uid: "id"+i});
google.maps.event.addListener(marker, 'click', function() {
infoWindow.setContent(html);
infoWindow.open(map, marker);});
}); // end codeLatLng

} // end for-loop
});// end downloadURL
}

这段代码似乎可以工作。

  function codeLatLng(point, callback) {        
geocoder.geocode({'latLng': point}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[1]) {
callback(results[1].formatted_address);
} else {
alert("Couldn't find address");
}
} else {
alert('Geocoder failed due to: ' + status);
}
});
}

我还检查了 XML 文件是否有错误,但它的格式是正确的。有人有解决办法吗?

谢谢

最佳答案

codeLatLng 是异步的,当您使用 addr 时,它仍然是未定义的。

您应该将取决于其值设置的代码移动到回调内部。

关于javascript - Google Maps API v3 : Geocoding Reversal, 仅打印出一个标记(javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12733823/

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