反向地理编码不返回邮政编码
Posted
技术标签:
【中文标题】反向地理编码不返回邮政编码【英文标题】:Reverse Geocoding does not return a post code 【发布时间】:2016-07-09 14:10:18 【问题描述】:我正在尝试将 html5 地理定位功能与一些谷歌地图 API 一起用于移动网络应用程序,如下所示...
我有一个 mysql 表,其中包含包括邮政编码在内的属性的地址记录,但没有坐标。我已成功使用 HTML5 Geolocation 使用此代码获取当前坐标...
<script>
window.onload = function getLocation()
if (navigator.geolocation)
navigator.geolocation.getCurrentPosition(showPosition, showError);
else
x.innerHTML = "Geolocation is not supported by this browser.";
function showPosition(position)
var latlng = position.coords.latitude + "," + position.coords.longitude;
var lat = position.coords.latitude;
var lng = position.coords.longitude;
function showError(error)
switch(error.code)
case error.PERMISSION_DENIED:
x.innerHTML = "User denied the request for Geolocation."
break;
case error.POSITION_UNAVAILABLE:
x.innerHTML = "Location information is unavailable."
break;
case error.TIMEOUT:
x.innerHTML = "The request to get user location timed out."
break;
case error.UNKNOWN_ERROR:
x.innerHTML = "An unknown error occurred."
break;
</script>
...数据库表很大,我想限制对邮政编码的查询结果,因此我需要进行某种反向地理编码来将我当前的纬度转换为邮政编码以提供我的查询。
使用在我的家庭地址的“var latlng”测试中返回的 corodinates,然后我在此处的谷歌开发示例中的反向地理编码示例中测试了这个“latlng”https://developers.google.com/maps/documentation/javascript/examples/geocoding-reverse,但它只返回“城镇,国家”并且没有邮政编码。有没有办法让我每次都获取邮政编码,或者找到最近的邮政编码?
然后我想创建我的 SQL,例如"SELECT * FROM tblProperties WHERE tblProperties.postCode = 'geocodingPostalCode';"
我已经使用其他随机坐标测试了谷歌开发示例,这些坐标确实返回完整地址,包括邮政编码,但不是我的家庭地址,我需要它一直工作。
非常感谢任何帮助。谢谢。
【问题讨论】:
【参考方案1】:您用于反向地理编码的示例使用第二个结果,这对于邮政编码来说可能过于宽泛。您不一定总是得到邮政编码,但第一个结果(results[0],而不是 results[1])更有可能有邮政编码。
【讨论】:
以上是关于反向地理编码不返回邮政编码的主要内容,如果未能解决你的问题,请参考以下文章
反向地理编码不起作用返回 IOException 和 NullPointerException
C#语言,从百度地图反向地理编码api返回的json数据中提取信息