地理位置邮政编码

per*_*ai1 5 javascript html5 geolocation

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

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

Gab*_*oli 9

尝试 position.address.postalCode

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

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

  • 在Chrome中不起作用。position.address是未定义的。 (3认同)

KJY*_*葉家仁 8

查看最新的HTML5 Geolocation API,我看不到支持position.address.city,position.address.region或者position.address.city还没有.所以,我不得不说目前不支持.


更新:

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


小智 5

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);          
            }
        );
    });
}
Run Code Online (Sandbox Code Playgroud)