ski*_*kip 6 html javascript zipcode geolocation angularjs
我需要根据zipcode访问该站点的用户填充一些数据.
有人能告诉我如何检索该zipcode用户的位置吗?
我在我的应用程序上使用AngularJS.
fro*_*sty 12
好.这有点牵扯,但如果我是你,我会这样做.
首先,您将使用geolocation API,如下所示:
window.navigator.geolocation.getCurrentPosition(function(pos){
console.log(pos);
});
Run Code Online (Sandbox Code Playgroud)
在回调中,您将获得一个位置对象.它看起来像这样:
{
"timestamp":1408324851386,
"coords"{
"speed":null,
"heading":null,
"altitudeAccuracy":null,
"accuracy":30,
"altitude":null,
"longitude":-111.8942634,
"latitude":40.7288257
}
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以获取经度和纬度,并致电您的服务器将其转换为邮政编码.获得纬度/经度是困难的部分.做数学把它变成拉链很容易.
调用自己的服务器将lat/long转换为zip的替代方法,您可以调用Google Maps的反向查找API.你给它一个lat长,它给你一个地址,完整的ZIP.请参阅此处了解如何执行此操作.
免责声明:这在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);
});
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5606 次 |
| 最近记录: |