// 定位
function local() {
AMap.plugin('AMap.Geolocation', function() {
var geolocation = new AMap.Geolocation({
enableHighAccuracy: true, //是否使用高精度定位,默认:true
timeout: 10000, //超过10秒后停止定位,默认:5s
buttonPosition: 'LB', //定位按钮的停靠位置
buttonOffset: new AMap.Pixel(10, 20), //定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
zoomToAccuracy: false, //定位成功后是否自动调整地图视野到定位点
panToLocation: false, //定位成功后将定位到的位置作为地图中心点,默认:true
showCircle: false, //定位成功后用圆圈表示定位精度范围,默认:true
extensions: "all", // JSAPI在定位成功的时候会将得到的经纬度进行逆地理编码后获取地址信息,以方便开发者的进一步使用;
useNative: true, //是否使用安卓定位sdk用来进行定位,默认:false,适用于同时在APP中使用安卓定位sdk并在APP WebView中使用了JSAPI的开发者。开启后,将优先尝试使用sdk进行定位,失败后依次尝试浏览器定位和IP定位。
});
map.addControl(geolocation);
geolocation.getCurrentPosition(function(status, result) {
if (status == 'complete') {
onComplete(result)
} else {
onError(result)
}
});
});
//解析定位结果
function onComplete(data) {
localStorage.setItem("local", data.position)
}
//解析定位错误信息
function one rror(data) {
alert('定位失败,请刷新页面获取定位')
}
}
注:浏览器定位一般不精确,需要使用HTTPS协议提高精确度