【问题标题】:How to show an iBeacon in a map如何在地图中显示 iBeacon
【发布时间】:2014-06-24 18:26:46
【问题描述】:

一旦应用找到信标,是否可以在地图中同时显示(找到信标的设备和信标本身)?如果是这样,我该怎么做?到目前为止,我尝试使用距离位但没有成功。

【问题讨论】:

    标签: ios mapkit cllocationmanager ibeacon


    【解决方案1】:

    不幸的是,一旦 iBeacon 被检测到,您就无法找到它的确切位置。您只能估计它与设备的距离。

    proximity 属性告诉您信标与设备之间的相对距离(远、近或近),而accuracy 属性告诉您该值的准确程度;因此,您可以结合使用接近度和精度来获得距离的大致近似值。您还可以将这些属性与 RSSI(即信标的接收信号强度)结合使用,以进一步估算相对距离。

    另一方面,可以通过打开地图的showsUserLocation 属性轻松映射设备。

    【讨论】:

    • 我可以使用准确度属性获得信标的接近度值,对吧?有了这个我可以画一个以用户位置为中心的圆圈来告诉用户信标的可能位置(在圆周内),有没有办法得到信标的方向?有了它,我可以估计圆圈中的哪个位置可能是信标。
    • @douglasd3 不,您可以将 proximity 属性与 accuracy 结合使用。接近度告诉您信标与设备之间的大致距离(远、近或直接),而准确度则告诉您该值的准确程度。您还可以将这些属性与 RSSI 结合使用,以估计信标与设备的相对距离。是的,您可以按照您指定的方式使用圆周,但无法自动检测方向...也许您可以使用设备移动和更改接近度来缩小方向。
    【解决方案2】:

    我想你的地图是一个 MKMapView。如果您知道信标的精确位置(通过在安装信标时使用 GPS 获取信标的坐标),您可以在 MKMapView 上添加注释。

    看看 MKMapView - (void)addAnnotation:(id )annotation 方法。

    如果您没有用于获取信标 GPS 坐标的数据库,则无法在地图上显示它们,因为信标对其周围环境一无所知。

    顺便说一下,CLBeacon 对象的准确度属性对于定位来说不够可靠。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-02
      • 1970-01-01
      • 1970-01-01
      • 2010-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-20
      相关资源
      最近更新 更多