ccren 2024-10-12 11:54 采纳率: 33.3%
浏览 20

请教两个关于高德地图定位不准的技术问题

img

1、圆圈圆心坐标和半径长度,圆圈包含不规则识别区域
2、问题一:无法获取当前位置是否进入圆圈内,期望在从接近圆圈边缘到进入圆圈不要因为定位不准而出现判定反复

uni.getLocation({
   type: 'gcj02', //返回可以用于uni.openLocation的经纬度
   isHighAccuracy: true,
   highAccuracyExpireTime: 3900,
   // 用户允许获取定位
   success: function (res) {
   if (res.errMsg == "getLocation:ok") {

3、问题二:识别定位设备是否进入电子围栏,期望在从接近电子围栏边缘到进入电子围栏不要因为定位不准而出现判定反复

  • 写回答

2条回答 默认 最新

  • 香格里辣 2024-10-12 11:55
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    从您提供的问题描述中,我可以看到您在使用高德地图进行定位时遇到了两个问题:一是无法准确判断设备是否进入特定圆圈内;二是无法准确识别设备是否进入电子围栏。这两个问题都与定位精度和算法处理有关。针对这两个问题,我可以给出以下建议:

    问题一:无法准确判断设备是否进入特定圆圈内

    对于这个问题,您可以考虑使用高德地图的地理围栏(Geofence)功能。地理围栏可以帮助您定义一个特定的区域,并在设备进入或离开这个区域时收到通知。为了解决这个问题,您可以设置一个圆形地理围栏,其圆心坐标和半径与您定义的圆圈一致。当设备进入或离开这个围栏时,您可以得到通知,从而避免因为定位不准而导致的误判。

    问题二:无法准确识别定位设备是否进入电子围栏

    这个问题同样可以通过地理围栏功能解决。您可以为电子围栏区域设置地理围栏,并利用高德地图的定位事件来判断设备是否进入或离开这个区域。为了提高准确性,您可以考虑使用高德的室内定位功能,特别是在进入建筑物等复杂环境下,室内定位可以提供更高的精度。

    另外,为了解决因为定位不准而导致的误判问题,您可以设置一个误差参数,例如±10米。如果设备的实际位置与电子围栏的边缘距离在这个误差范围内,可以判定为无效移动。这个误差参数可以根据实际需求进行调整。您还提到高德商业版和免费版的定位精度可能存在差异,可以根据实际情况选择合适的版本。

    关于代码的建议

    对于您提供的代码片段,您可以考虑添加对定位结果的持续监控和处理逻辑。例如,使用定时器或监听定位事件来持续获取设备的定位结果,并根据这些结果判断设备是否进入或离开特定区域。同时,确保您的代码能够处理各种定位失败、定位成功等场景,以提高应用的健壮性。

    总之,解决这两个问题的关键是使用高德地图的地理围栏功能,并结合室内外定位技术来提高定位的精度。同时,合理设置误差参数和处理逻辑,以避免因定位不准而导致的误判。

    评论

报告相同问题?

问题事件

  • 创建了问题 10月12日