vue 开发H5 页面,如何通过高德地图获取用户坐标?

网上搜了好多,试了不起作用,终于找到一篇靠谱的文章,码住收藏!



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

你可能感兴趣的:(vue 开发H5 页面,如何通过高德地图获取用户坐标?)