首先是自带的,直接用即可
if (navigator.geolocation) {
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
$(".jwd").empty().append("该浏览器不支持获取地理位置。");
}
}
function showPosition(position) {
$(".jwd").empty().append(position.coords.latitude + "," + position.coords.longitude)
}
然后是用百度api,地址地位,先弄一个输入框给用户,让他输入地址后再把该地址发给百度,进行逆地理编码,就得到经纬度
$.post("https://api.map.baidu.com/geocoding/v3/?address=" + address +
"&output=json&ak=你自己的ak",
function(data, status) {
data = JSON.parse(data)
console.log(data)
})
api申请地址https://lbsyun.baidu.com/apiconsole/center#/home
未认证每日6k次使用,可以放心瞎寄吧用
浅谈:第一种方法虽然快捷方便,但是容易受到权限限制,可能没开gps又或是浏览器禁止,第二种方法会麻烦用户一点。我个人是两个方法一起用上了。