2014-06-24 47 views
0

一旦應用程序發現信標可以同時顯示在地圖(找到信標和信標本身的設備)中?如果是這樣,我該怎麼做?到目前爲止,我嘗試了一下距離位,但沒有成功。如何在地圖中顯示iBeacon

回答

1

不幸的是,一旦檢測到iBeacon,您就無法找到確切的位置。你只能估計它遠離設備的距離。

proximity屬性告訴您信標遠離設備的相對距離(遠,直接或接近),而accuracy屬性告訴您該值的精確度;所以你可以使用接近度和準確度來獲得距離的一般近似值。您還可以將這些屬性與RSSI(即信標的接收信號強度)結合使用,以進一步近似相對距離。

另一方面,通過打開地圖的showsUserLocation屬性,可以輕鬆映射設備。

+0

我可以使用精度屬性獲得信標的接近度值,對吧?因此,我可以繪製一個以用戶位置爲中心的圓圈來告訴用戶該信標的可能位置(在圓周內),沒有辦法獲得信標的方向?我可以估計這個圈子裏的哪個地方可能是燈塔。 – douglasd3

+0

@ douglasd3不,您可以將* proximity *屬性與* accuracy *結合使用。 Proximity告訴你信標遠離設備的近似距離(遠,近,或立即),而準確度告訴你信號的準確度。您也可以將這些屬性與RSSI結合使用,以近似信標與設備的相對距離。是的,您可以按照您指定的方式使用圓周,但方向無法自動檢測到......也許您可以使用設備移動和改變接近度來縮小方向。 –

0

我想你的地圖是MKMapView。如果您知道信標的精確位置(通過使用GPS獲取信標的座標,那麼您可以在MKMapView上添加註釋)。

查看MKMapView - (void)addAnnotation:(id < MKAnnotation>)註釋方法。

如果您沒有數據庫獲取信標的GPS座標,則無法在地圖上顯示它們,因爲信標對周圍環境一無所知。

順便說一下,CLBeacon對象的精度屬性對定位來說不夠可靠。