如何通过给定纬度/经度获取地址 [英] How do i get address by given lat/long

查看:91
本文介绍了如何通过给定纬度/经度获取地址的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何通过给定的经/纬度而不是位置来获取地址. 反向地理编码",但仅显示位置名称.

How do i get address by given lat/long not location.I have tried with "Reverse Geocoding" but it showing only location name.

我的代码是

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
var geocoder;
var map;
var marker;
var marker2;

function initialize() {
    geocoder = new google.maps.Geocoder();
    var
    latlng = new google.maps.LatLng(-34.397, 150.644);
    var mapOptions = {
        zoom: 5,
        center: latlng
    }
    map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
    google.maps.event.addListener(map, 'click', function (event) {
        //alert(event.latLng);          
        geocoder.geocode({
            'latLng': event.latLng
        }, function (results, status) {
            if (status ==
                google.maps.GeocoderStatus.OK) {
                if (results[1]) {
                    alert(results[1].formatted_address);
                } else {
                    alert('No results found');
                }
            } else {
                alert('Geocoder failed due to: ' + status);
            }
        });
    }); <!--click event--> }
    google.maps.event.addDomListener(window, 'load', initialize);
</script>
<div id="map-canvas"></div>

推荐答案

街道编号为0的地址.使用

Address with street number is at index 0. Use

results[0].formatted_address

代替

results[1].formatted_address

您将得到地址

例如,在索引0处,您将得到:卧龙岗市奥斯本街36号..." ,在索引1处,您将得到卧龙岗市卧龙岗医院皇冠医院..." .

For example, at index 0 you get: "36 Osborne Street, Wollongong ...", at index 1 you get "Wollongong Hospital Crown St, Wollongong ...".

您可以使用

results[0].address_components[0]
...
results[0].address_components[5]

这篇关于如何通过给定纬度/经度获取地址的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆