因此,我正在研究一個項目,其中包括許多用於在地圖周圍放置註釋的用途。註釋,(這是一個更大的圓形範圍內的自定義圖像)出現在屏幕上,並且理想地,我想爲用戶爲:如何檢測用戶是否在註釋的範圍
- 通知的,如果他們是一個註釋 的範圍內和
- 不得放置另一個註解另一個的範圍內,如果圓針重疊,比方說,超過25%
我覺得這是一個非常獨特的問題,應該是有人樂趣幫助,讓玩得開心!謝謝大家!
因此,我正在研究一個項目,其中包括許多用於在地圖周圍放置註釋的用途。註釋,(這是一個更大的圓形範圍內的自定義圖像)出現在屏幕上,並且理想地,我想爲用戶爲:如何檢測用戶是否在註釋的範圍
我覺得這是一個非常獨特的問題,應該是有人樂趣幫助,讓玩得開心!謝謝大家!
可以從每個註釋使用
- (CLLocationDistance)distanceFromLocation:(const CLLocation *)location
該方法測量通過追蹤 下面地球的曲率它們之間的線的兩個位置之間的距離檢查距離。產生的弧線是平滑的曲線,並且不考慮兩個位置之間的特定高度變化。
欲瞭解更多詳情,請參閱Link
試試這個:
let location = CLLocation(latitude: 1, longitude: 1)//Or user's location
let distance = location.distance(from: anotherLocation)
編輯:
正如在評論中提到,你想創建一個等距點。我建議手動做到這一點:
從用戶的位置減去註釋的位置。然後將距離添加回原來的距離。例如:
用戶的位置=(1,1)
該註釋的位置=(3,2)
垂直差異將是2
水平差將是1
Then:
(3 + 2,2 + 1)
您的結果:(5,3)
現在,你將在一箇中心點(原註釋)
我認爲位置和距離必須是var的,我不知道是否可以設置距離等於位置座標內的註釋加上具有特定可重用標識符的容差?也許? – Ethan
你不需要他們成爲變數。每次更新位置(locationDidUpdate方法)時都會調用它。我根據新的觀點編輯了我的問題。 – penatheboss
作爲一般的指針每端有兩個點(您剛剛創建的和用戶的位置),看看up GeoFencing – LuigiPower
或者更具體地說,使用MapKit,查看[Monitoring Geographical Regions](https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/LocationAwarenessPG/RegionMonitoring/RegionMonitoring.html#//apple_ref/doc/uid/TP40009497-CH9-SW2)。_注意,我相信可以同時監視的區域數量有限,但這是一種可行的方法。但正如其他人所討論的那樣,正確的解決方案可能只是使用'CLLocation'的'distanceFromLocation'方法。 – Rob
感謝@Rob鳴叫我現在就來看看這個! – Ethan