[]请问:通过Laya.Geolocation来定位存在较大误差(超过1公里),该如何解决?

// 获取地理位置
function getCurPosition()
{
if (Laya.Geolocation.supported)
{
Laya.Geolocation.enableHighAccuracy = true;

Laya.Geolocation.getCurrentPosition(
Laya.Handler.create(null, cb_onGeoPositionSuccess),
Laya.Handler.create(null, cb_onGeoPositionFail));
}
else
{
alert("您的浏览器不支持使用HTML5来获取地理位置服务");
}
}

// 回调函数:获取GPS坐标成功后
function cb_onGeoPositionSuccess(pos)
{
alert("pos:"+pos.coords.longitude+","+pos.coords.latitude);
/*这里得到的位置和实际位置有较大误差,误差超过1公里*/
}

// 回调函数:获取GPS坐标失败后
function cb_onGeoPositionFail(error)
{
switch (error.code)
{
case Laya.Geolocation.PERMISSION_DENIED:
alert("位置服务被拒绝,请检查您的GPS和定位设置");
break;
case Laya.Geolocation.POSITION_UNAVAILABLE:
alert("暂时获取不到位置信息");
break;
case Laya.Geolocation.TIMEOUT:
alert("获取位置信息超时");
break;
default:
alert("加载地图时出现未知错误");
break;
}
}
已邀请:

yuanxiaoshu

赞同来自:

不好意思,Laya.Geolocation的定位是准确的,我是获得坐标后在百度地图上使用时还要用百度的api转换一下,和Laya没有关系。抱歉。
另外我测试发现Laya.Geolocation在微信内置浏览器是非常准确的,但在firefox上误差还是很大,应该是浏览器的问题吧。

要回复问题请先

商务合作
商务合作