网上搜了好多,试了不起作用,终于找到一篇靠谱的文章,码住收藏!
export
defaultfunctionMapLoader(){
letaMapScript =document.createElement('script')
aMapScript.setAttribute('src','https://webapi.amap.com/maps?v=1.4.11&key=c0af2a8bee25c16d7a307124ddb43056&plugin=AMap.CitySearch')
document.head.appendChild(aMapScript)
returnaMapScript.onload =function(){
AMap.plugin('AMap.Geolocation',function(){
vargeolocation =newAMap.Geolocation({
// 是否使用高精度定位,默认:true
enableHighAccuracy:true,
// 设置定位超时时间,默认:无穷大
timeout:10000,
// 定位按钮的停靠位置的偏移量,默认:Pixel(10, 20)
buttonOffset:newAMap.Pixel(10,20),
// 定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
zoomToAccuracy:true,
// 定位按钮的排放位置, RB表示右下
buttonPosition:'RB'
})
geolocation.getCurrentPosition()
AMap.event.addListener(geolocation,'complete', onComplete)
AMap.event.addListener(geolocation,'error', onError)
functiononComplete(data){
// data是具体的定位信息
console.log(data)
console.log('123123')
}
functiononError(data){
console.log(data)
// 定位出错
console.log('123123s')
}
})
}
}
转载自 https://blog.csdn.net/qq_43574079/article/details/111597318?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-6&spm=1001.2101.3001.4242
还没完,用了会直接error。这是为啥呢,又搜了一通,找到原因了!不支持http。必须是https才行。本地预览效果,可以用localhost
{type: "error", message: "Geolocation permission denied.", info: "FAILED", status: 0}
vue 改config文件夹中的index.js文件
有个配置叫host,之前我设置了本地ip地址。改成localhost,大功告成!
看下浏览器的效果!!!
转载自 https://www.cnblogs.com/zion0707/archive/2004/01/13/12688893.html