在vue的项目中引用腾讯地图,使用H5的navigator.geolocation.getCurrentPosition来获取坐标,然后将坐标转换为腾讯坐标,按照腾讯的文档,我是如下写的:
TMap('WQCBZ-4FF3F-WI4JL-NJGAX-MECTJ-GMFWA').then(qq=>{
//中心坐标
var centerPort;
//获得当前位置
function getLocation()
{
if (navigator.geolocation)
{
console.log("获取定位")
navigator.geolocation.getCurrentPosition(showPosition,errorHandler);
}
else{console.log("无法获取定位")}
}
function errorHandler(err) {
if(err.code == 1) {
alert("Error: Access is denied!");
}else if( err.code == 2) {
alert("Error: Position is unavailable!");
}
}
function showPosition(position)
{
var lat=position.coords.latitude;
var lng=position.coords.longitude;
console.log(lat);
console.log(lng);
qq.maps.convertor.translate(new qq.maps.LatLng(lat,lng), 1, function(res){
console.log(res);
//取出经纬度并且赋值
centerPort = res[0];
})
}
getLocation();
})
在获取gps的坐标的时候是成功的,在方法showPosition中也获得了lat和lng,但是在执行语句
qq.maps.convertor.translate(new qq.maps.LatLng(lat,lng), 1, function(res){
console.log(res);
//取出经纬度并且赋值
centerPort = res[0];
})
控制台报错了,报错如下
请问这是为什么呢?如何才能正确进行坐标转换?