关于腾讯地图geolocation.getLocation 经常定位失败,定位时间过长的解决方 ...

张春  金牌会员 | 2024-3-22 00:02:13 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 898|帖子 898|积分 2694

今天遇到个项目,腾讯地图定位出现问题,导致地图无法呈现出最近的目标

 这是正常的效果,之前一直出现贵州等地点的信息,查看控制台的网络后,发现腾讯的定位失败,要么就是定位时间过长,要20S左右,但是换EDGE浏览器却能正常加载,
除了EDGE浏览器都会出现这个问题。随后我去查阅腾讯地图接口的信息,找到前端定位组件,发现有一个函数可以根据IP查询“getIpLocation”,但是一番调试之后还是会出现定位失败的情况,
就在苦思又想的情况下,我就想为什么就执着于这个调用方式,不行就只能使用其他的调用方法。
通过内嵌一个隐藏iframe的方式调用该组件,前端定位组件在获取到用户的精准位置信息后。
  1. <iframe id="geoPage" width=0 height=0 frameborder=0  style="display:none;" scrolling="no"
  2.     src="https://apis.map.qq.com/tools/geolocation?key=your key&referer=myapp">
  3. </iframe><br><br>随后在JS里面添加 相关代码 <br>
复制代码
  1. window.addEventListener('message', function(event) {
  2.     // 接收位置信息 你的其他操作
  3.     var loc = event.data;
  4.     console.log('location', loc);
  5. }, false);
复制代码
  1. 换了这种方式之后确实可以定位成功
复制代码

 
  1.  
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张春

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表