我创建了一个包含许多不同位置的地图,每个位置都有一个标记和标题/描述。我想做的是从lat / lng中提取相对地址。我发现this function应该做我正在寻找的内容..但我无法理解如何将其应用到我现有的代码中。这是my fiddle。
我正在寻找一种输出地址的方法:
infoWindow.setContent('<h3>' + this.title + '</h3>' + data.description);
应该像
infoWindow.setContent('<h3>' + this.title + '</h3>' + data.description + results[0].formatted_address);
答案 0 :(得分:0)
在标记的单击侦听器中调用反向地理编码器,在回调成功返回时打开带有附加地址的infowindow:
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: data.title,
// animation: google.maps.Animation.DROP,
icon: new google.maps.MarkerImage(icon)
});
(function (marker, data) {
google.maps.event.addListener(marker, "click", function (e) {
geocoder.geocode({
'latLng': marker.getPosition()
}, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
infoWindow.setContent("<h3>" + marker.title + "</h3>" + data.description + "<br><b>address:</b> "+results[0].formatted_address);
infoWindow.open(map, marker);
} else {
infoWindow.setContent('<h3>' + marker.title + '</h3>' + data.description);
infoWindow.open(map, marker);
}
});
});
})(marker, data);