1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 高德h5地图api接口_H5 JS中使用微信 高德获取定位

高德h5地图api接口_H5 JS中使用微信 高德获取定位

时间:2018-08-18 08:23:37

相关推荐

高德h5地图api接口_H5 JS中使用微信 高德获取定位

目的:

--:展示游戏玩家彼此之间的距离,防止棋牌游戏中用户作弊

经过:

1:在微信公众号,配置对应的JS域名,IP地址白名单

2:在JS页面中,调用微信的JS-SDK,来使用微信的getLocation接口,实时获取玩家的 longitude,latitude经纬度。

3:在页面中使用高德地图的JS-API,将经纬坐标点转换为实时的地理位置。

/api/javascript-api/summary

代码如下:引入高德的JS-API:

使用其中的geocoder类,获得经纬度和地理位置之间的转换。

/**根据经纬度--逆向获取玩家地址详情**/

function getUserAddress(pointAry, backFun,thisObj,returnFun) {

// function regeocoder() {

//逆地理编码

var geocoder = new AMap.Geocoder({

radius: 1000,

extensions: "base"

});

geocoder.getAddress(pointAry, (status, result) => {

if (status === 'complete' && result.info === 'OK')

{

var address = result.regeocode.formattedAddress; //返回地址描述

if (backFun) {

backFun.apply(thisObj,[address,returnFun]);

}

} else {

alert("获得地址失败")

}

});

}

3.1:成功获取到加载的地理位置

4:通过2个经纬点,计算2个经纬度点之间的距离。---千米

/softfair/p/distance_of_two_latitude_and_longitude_points.html

问题记录:

--:如图1,报错:Permission denied--》权限不足

图1

原因:jsApiList里若没配置openLocation和getLocation的接口权限

--:如图2,获取数据超时:

图2

原因:在使用getLocation接口的时候,用户没有开启:GPS---导致请求超时。

--:在微信权限注入成功之后,分享好友,朋友圈,调用微信先关接口失败,无法加载配置的分享信息,分享后仍然是非定制的信息。

原因之一:

检查公众平台的接口权限,发现分享接口未获得权限。

拓展:

GPS: Global Position System

WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。

GCJ02:又称火星坐标系,是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系

BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标。

--:新的问题、困难。意味新的收获和进步!证明自己能力的步骤

--:明白陌生代码的实际意义。才能通过它进行分析和推理,继续使用它,来解决遇到的问题,...拓展.

--:关于回调函数的使用,apply,call

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。