k***@hotmail.com
k***@hotmail.com
  • 发布:2017-03-29 09:40
  • 更新:2021-02-04 11:58
  • 阅读:5908

手机GPS定位

分类:HTML5+

HTML5+ 提供了两种获取当前用户GPS位置的方式:

  1. plus.geolocation.getCurrentPosition
  2. Map.getUserLocation

经过测试发现第一种方法获得的位置离散程度比第二种方式高,会出现很多偏离当前真实位置较大的“噪点”,因此推荐使用第二种获取GPS位置的方式。

参考代码如下:

HTML中放一个div容器:  
<div id='allmap' style='display: none;'></div>	  
  
JS中添加代码:  
function queryGeoLocation() {  
	var mapObj = new plus.maps.Map('allmap');  
	var getGPS = mapObj.getUserLocation( function ( state, point ){  
		if( 0 == state ){  
  
			mapObj.centerAndZoom(point, 15);  
			console.debug(JSON.stringify(point));  
		}else{  
  
		}  
	} );  
  
	if(getGPS == false) {  
  
	}  
}

无论使用哪种方式,都需要首先获取百度地图或者高德地图的APP Key。参考地图插件配置一文即可(http://ask.dcloud.net.cn/article/29),但在新版HBuild中,设置Key的方式已经简化,仅需要在manifest.json的“SDK配置”视图中添加获得的appkey即可,无需修改代码视图。

2 关注 分享
t***@qq.com h***@163.com

要回复文章请先登录注册

2***@qq.com

2***@qq.com

[uniapp配置高德定位流程](https://www.chao-yu.cn/details/5.html)
2021-02-04 11:58
4***@qq.com

4***@qq.com

你这代码直接报错Uncaught TypeError: Cannot read property 'offsetLeft' of null
2017-04-01 14:35