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

目的:

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

经过:

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

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

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

http://lbs.amap.com/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个经纬度点之间的距离。---千米

https://www.cnblogs.com/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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值