此外腾讯地图还有个坑,经过本人测试在开发工具上第一次不会触发regionchange事件,但是在真机上会触发

/ 解决标注位置闪烁问题
var distance = this.getDistance(res.latitude, res.longitude, this.latitude, this.longitude)
if ((res.latitude == this.latitude && res.longitude == this.longitude) || distance < 1) {
	return;
}
getDistance(lat1, lng1, lat2, lng2) {
		    lat1 = lat1 || 0;
		    lng1 = lng1 || 0;
		    lat2 = lat2 || 0;
		    lng2 = lng2 || 0;
		    var rad1 = lat1 * Math.PI / 180.0;
		    var rad2 = lat2 * Math.PI / 180.0;
		    var a = rad1 - rad2;
		    var b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;
		    var r = 6378137;
		   return (r * 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(rad1) * Math.cos(rad2) * Math.pow(Math.sin(b / 2), 2)))).toFixed(0)
 },								
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐