地理位置邮政编码

时间:2011-05-17 15:50:03

标签: javascript html5 geolocation

我使用以下代码获取位置和城市,但如果此人允许我,则无法让它给我邮政编码。如果可以使用此代码,请告诉我。如果获得访问权限,它所做的只是填充文本字段。

<script type="text/javascript">
  if(navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(function(position) {
     $("#location").val(position.address.city+", "+position.address.region);
  });
 }

3 个答案:

答案 0 :(得分:9)

尝试position.address.postalCode

请参阅以下演示,了解您的浏览器/设备支持的内容

https://jsfiddle.net/gaby/Sx5cj/

答案 1 :(得分:7)

查看最新的HTML5 Geolocation API,我看不到对position.address.cityposition.address.regionposition.address.city的支持。所以,我不得不说目前不支持。


更新:

地址查找似乎在firefox中支持@Gaby又名G. Petrioli回答

答案 2 :(得分:3)

HTML 5 Geolocation API中不支持地址,但您可以将其与Google Maps API结合使用: 这是获取zipCode的示例,但您可以使用它来获取整个地址:

if(navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(function(position) {
        var lat = position.coords.latitude;
        var long = position.coords.longitude;
        var point = new google.maps.LatLng(lat, long);
        new google.maps.Geocoder().geocode(
            {'latLng': point},
            function (res, status) {
                var zip = res[0].formatted_address.match(/,\s\w{2}\s(\d{5})/);
                $("#location").val(zip);          
            }
        );
    });
}