目前我正在開發基於位置的iPhone/iPad應用程序。我在MapKit中有幾個註釋,我想要做的是跟蹤用戶的位置並顯示3公里內的註釋。有人能給我一個開始嗎?iOS MapKit在一定距離內顯示最近註釋
1
A
回答
1
對不起,延遲響應...這個問題剛剛從我的雷達上掉下來。
我打算假設你有一個方法返回一組NSValue包裝的CLLocationCoordinate2D
結構體(基本方法是相同的,無論你的內部數據表示是什麼)。 (:在瀏覽器中鍵入警告):
NSSet *locations = ...;
CLLocation centerLocation = ...; // Reference location for comparison, maybe from CLLocationManager
CLLocationDistance radius = 3000.; // Radius in meters
NSSet *nearbyLocations = [locations objectsPassingTest:^(id obj, BOOL *stop) {
CLLocationCoordinate2D testCoordinate;
[obj getValue:&testCoordinate];
CLLocation *testLocation = [[CLLocation alloc] initWithLatitude:testCoordinate.latitude
longitude:testCoordinate.longitude];
BOOL returnValue = ([centerLocation distanceFromLocation:testLocation] <= radius);
[testLocation release];
return returnValue;
}
];
隨着過濾集手部座標,你可以創建MKAnnotation
實例並將它們添加到地圖中,然後你可以使用的方法一個類似於下面的過濾列表通常的方式,如Apple's documentation中所述。
如果您有數千個測試位置,那麼我認爲這種方法可能會導致性能問題。然後,您需要切換點存儲方式以使用,例如quadtrees,以減少需要精確過濾的點數。但不要過早優化!
希望有幫助!
+0
感謝您的回覆。我已經找到了訣竅。 :) – BigAppleBump
相關問題
- 1. 只顯示用戶距離x的距離內的註釋
- 2. Swift iOS Mapkit - 註釋未顯示
- 3. MapKit中最接近的註釋列表
- 4. Mapkit顯示註釋區域
- 5. mapkit顯示註釋默認
- 6. 自動顯示MapKit註釋
- 7. IOS 4.3.2 MapKit註釋
- 8. 最近距離(分離集)
- 9. 使用mapkit確定距離
- 10. MapKit沒有在iOS9上顯示自定義註釋圖像
- 11. 無法獲取iOS MapKit註釋以顯示標題和字幕
- 12. iOS Mapkit - 如何過濾註釋(顯示/隱藏)?
- 13. 使用CLLocation計算距離iOS MapKit
- 14. 計算移動距離iOS MapKit
- 15. 在特定距離內查找所有最近的鄰居
- 16. 如何在MapKit上顯示一組位置的註釋標題
- 17. 距離最近鄰居的平均距離的近似值?
- 18. mapkit和註釋
- 19. Mapkit多註釋
- 20. 顯示YouTube註釋 - iOS App
- 21. 圓分離距離 - 最近鄰問題
- 22. IOS:放大mapkit的兩個註釋點
- 23. iOS Mapkit自定義標註
- 24. MapKit註釋沒有在地圖上顯示
- 25. 如何使用谷歌地圖或ios mapkit顯示路線和計算距離
- 26. 在mapkit中顯示附近的商家
- 27. 如何在2-D距離中顯示Highstock工具提示到最近點?
- 28. 在mapkit中搜索註釋
- 29. 顯示與mapKit Swift用戶的距離(英里/公里)
- 30. Mapkit:僅在當前視圖中顯示註釋
哪個部位有問題?跟蹤位置?在半徑內查找點?顯示註釋? –
從數據庫中顯示註釋並顯示半徑內的點。如果有的話,請給我建議一些很好的教程。 – BigAppleBump