Google Maps API:反向地理编码和地址打印

时间:2014-08-29 22:27:17

标签: javascript google-maps google-maps-api-3 google-maps-markers

我创建了一个包含许多不同位置的地图,每个位置都有一个标记和标题/描述。我想做的是从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);

1 个答案:

答案 0 :(得分:0)

updated fiddle

在标记的单击侦听器中调用反向地理编码器,在回调成功返回时打开带有附加地址的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);