uni-app map show-location问题

fjnneemd  于 5个月前  发布在  uni-app
关注(0)|答案(6)|浏览(75)

问题描述
[问题描述:尽可能简洁清晰地把问题描述清楚]
当第一次进入h5页面获取坐标授权的时候(迟一点点击授权坐标的时候),就会导致map组件show-location会得不到当前位置的坐标点。而且不能重新获取当前位置的坐标点。

vvppvyoh

vvppvyoh1#

您好,方便提供一份可以复现的测试代码吗?

jaql4c8m

jaql4c8m2#

您好,方便提供一份可以复现的测试代码吗?

<template> <map id="mymap" :longitude="longitude" :latitude="latitude" scale="14" :markers="markers" @markertap="markertap" :show-location="showLocation" :style="{width: '100%', height: kHeight+'px'}"> </map> </template>
微信公众号h5 有腾讯key 测试过腾讯地图h5它是之后点击授权才加载整个地图即坐标的,但是uniapp里面是还没有授权地图已经加载完成,且得不到坐标。
export default { data() { return { latitude: 0, longitude: 0, kHeight: 0, showLocation: true, // 如果是第一次授权的时候进入会得不到当前定位(因为授权当前位置弹窗未点击的时候页面加载完成,点击授权之后也未能显示,第二次进入(已经授权)开始正常) markers: [], coverShow: false, store_info: {}, storeList: {} }; }, onLoad () { var that = this; uni.getSystemInfo({ success: function(res) { console.log(res) that.setData({ kHeight: res.windowHeight }); } }); uni.getLocation({ type: "gcj02", success(res) { var latitude = res.latitude; var longitude = res.longitude; console.log('show-location', that.showLocation) that.setData({ latitude: latitude, longitude: longitude }); that.loadStoreList(); }, fail: function(res) { console.log(res) // 如果是第一次授权的时候进入会fail(因为它授权弹窗的时候,页面已经加载完成) } }) }, } }

2w2cym1i

2w2cym1i3#

那你在他点击授权之后再调用uni.getLocation不就好了吗?

pxyaymoc

pxyaymoc4#

那你在他点击授权之后再调用uni.getLocation不就好了吗?

一、这个定位授权不是组件内部实现的吗?我哪里写回调授权。
二、uni.getLocation获得的坐标只是地图赋值中心位置而已
三、我要在地图上显示带有方向的当前定位点用的是showLocation也是内部实现的,我怎么要它定位授权完显示呢?

puruo6ea

puruo6ea5#

麻烦请你发一份完整的测试代码

hgncfbus

hgncfbus6#

麻烦请你发一份完整的测试代码
上面就是一个单页面的完整代码,uniapp就是没等定位授权之后map组件就出地图了,我已经测好几遍,弹窗我还没有授权呢 地图出来了所以第一次没有获取到定位,获取定位是失败的,你们可以单测一下map这个组件在微信h5上。步骤应该是授权定位然后回调完成中出地图的。辛苦了

相关问题