javascript – 如何使用AngularJS获取用户的zipcode

前端之家收集整理的这篇文章主要介绍了javascript – 如何使用AngularJS获取用户的zipcode前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要根据访问该网站的用户的邮政编码填充一些数据.

有人可以告诉我如何检索该用户位置的邮政编码吗?

我在我的应用程序上使用AngularJS.

解决方法

好.这有点牵扯,但如果我是你,我会这样做.

首先,您将使用geolocation API,如下所示:

window.navigator.geolocation.getCurrentPosition(function(pos){
    console.log(pos);
});

在回调中,您将获得一个位置对象.它看起来像这样:

{
  "timestamp":1408324851386,"coords"{
    "speed":null,"heading":null,"altitudeAccuracy":null,"accuracy":30,"altitude":null,"longitude":-111.8942634,"latitude":40.7288257
  }
}

然后,您可以获取经度和纬度,并致电您的服务器将其转换为邮政编码.获得纬度/经度是困难的部分.做数学把它变成拉链很容易.

调用自己的服务器将lat / long转换为zip的替代方法,您可以调用Google Maps的反向查找API.你给它一个lat长,它给你一个地址,完整的ZIP.有关如何执行此操作,请参阅HERE.

免责声明:这在IE8中不起作用,因为直到IE9才引入地理定位API.它适用于所有其他浏览器(除了Opera Mini,#NBD).

这是一个完整的工作示例
我刚试了这个,它找到了我的房子,没问题.

window.navigator.geolocation.getCurrentPosition(function(pos){
  console.log(pos);
  $http.get('http://maps.googleapis.com/maps/api/geocode/json?latlng='+pos.coords.latitude+','+pos.coords.longitude+'&sensor=true').then(function(res){
    console.log(res.data);
  });
})
原文链接:https://www.f2er.com/js/153940.html

猜你在找的JavaScript相关文章