我们如何将纬度和经度转换为网站中的地址?

Posted

技术标签:

【中文标题】我们如何将纬度和经度转换为网站中的地址?【英文标题】:How will we convert latitude and longitude to the address in web site? 【发布时间】:2017-05-10 19:19:15 【问题描述】:

我有一个提供纬度和经度的 API,我想要基于这些值的地点(城市、地区等)的地址。

假设像http://ip-api.com/php/2.50.153.139这样的网站,如果我们给出位置的ip,它将给出我们居住的位置的名称。 json 输出将如下所示:

a:14:s:5:"query";s:12:"2.50.153.139";s:10:"regionName";s:9:"Abu Dhabi";s:3:"lat";d:24.466699600219727;s:3:"org";s:39:"Emirates Telecommunications Corporation";s:3:"zip";s:0:"";s:2:"as";s:24:"AS5384 Emirates Internet";s:6:"status";s:7:"success";s:7:"country";s:20:"United Arab Emirates";s:4:"city";s:9:"Abu Dhabi";s:3:"lon";d:54.36669921875;s:8:"timezone";s:10:"Asia/Dubai";s:3:"isp";s:39:"Emirates Telecommunications Corporation";s:11:"countryCode";s:2:"AE";s:6:"region";s:2:"AZ";

但在 mu 情况下,我有纬度,经度,我想要区域名称。

我需要它通过使用 php 或 js 。我该怎么做?

【问题讨论】:

【参考方案1】:

包括这个脚本 - <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>

然后:-

 <script type="text/javascript">
        function GetAddress() 
            var lat = parseFloat(document.getElementById("#yourinputlat").value);
            var lng = parseFloat(document.getElementById("#yourinputlon").value);
            var latlng = new google.maps.LatLng(lat, lng);
            var geocoder = geocoder = new google.maps.Geocoder();
            geocoder.geocode( 'latLng': latlng , function (results, status) 
                if (status == google.maps.GeocoderStatus.OK) 
                    if (results[1]) 
                        alert("Location: " + results[1].formatted_address);
                    
                
            );
        
    </script>

【讨论】:

@biswas 我可以知道这是什么结果[1]? 实际上,地理编码器 api 给出了最接近给定 lat 和 lon 的地址,如您在此处看到的:- maps.googleapis.com/maps/api/geocode/json?latlng=53,7 所以 results 是上面的输出, results[1] 是输出的第二个对象,如果你愿意,你也可以使用 results[0] ,它会给你第一个建议的结果。【参考方案2】:

使用以下 url 和数据制作 ajax -> lat 和 long

http://maps.googleapis.com/maps/api/geocode/json?latlng=44.4647452,7.3553838&sensor=true

【讨论】:

【参考方案3】:

你应该试试这个,你正在寻找谷歌(或其他任何人)的reverse geocoding service.

【讨论】:

以上是关于我们如何将纬度和经度转换为网站中的地址?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 windows phone 中的纬度和经度值获取地址?

将纬度和经度转换为 3D 空间中的点

在php中将地址转换为纬度和经度

通过R中的sf将经度和纬度序列转换为多边形

将纬度/经度转换为地址 [重复]

当互联网关闭时,如何将纬度,经度转换为地址?