推 SwiftLang:code先貼出來比較好找問題 06/12 14:07
→ kros:有可能是你有實作delegate,每次update座標的時候都會回到原點 06/12 14:08
→ kros:因為實機很容易就改變位置,而模擬器不會 06/12 14:09
→ chen0404:是的 我有實作delegate,請問有解法嗎? 如果我把路線畫好 06/12 15:15
→ chen0404:時,把delegate設為nil,這樣藍點不就不會更新了? 06/12 15:15
謝謝 kros 的解答, 在這邊野人獻曝一下, 由於didUpdateUserLocation一直被呼叫
因此目前我的解法是當地圖完成顯示時會設一個flag(_isLocated) ,取得目前的坐標
然後當每次didUpdateUserLocation被呼叫時, 我會去判斷距離是否超出100m
如果有的話才會繼續更新showsUserLocation
-(void)mapView:(MKMapView*)mapView
didUpdateUserLocation:(MKUserLocation *)userLocation
{
CLLocationDistance distance = [userLocation.location
distanceFromLocation:currentLocation];
if (_isLocated && distance < 100) {
return;
}
.......
(code ...)
}
如果各位有更好的解法 歡迎一起討論
謝謝
※ 編輯: chen0404 (125.227.181.61), 06/12/2014 16:40:01