2013-11-02 136 views
1

我正在構建一個iPhone應用程序。有一個總是顯示地圖(MKMapView)的屏幕。但爲了保存電池,我不希望用戶位置隨時更新,只能自動(每15分鐘一次)和手動(onclick)。手動顯示當前位置藍點MKMapView ios

但是,我也想在地圖上顯示這個用戶位置。 問題是,如果我showsUserLocation爲我的MapView,它會自動開始更新位置,因此消耗電池。

我試圖激活showsUserLocation選項,保存MKUserLocation,然後停用showsUserLocation然後用手將保存MKUserLocation作爲註釋,但它實際上顯示一個警告,並重新激活showsUserLocation選擇!

所以我想用最後一種方法是用手工:

我建了一個藍色圓點標註自己,但它不具有發光效果和精度一圈。你有什麼想法如何做到這一點?或者如果有其他方式,請分享。

謝謝!

+0

我想你會迷惑用戶,如果您有使用其他任何地方對當前位置的脈衝藍點,但簡單化下來到每15分鐘只准確一次。 此外,如果您想降低電池使用量,您可以設置位置管理器的'desiredAccuracy',只在位置發生顯着變化時才向您發送通知。 – Craig

+0

@Craig也許,我想這取決於應用程序?我可以每5分鐘更新一次,事實上,將'showsUserLocation'保存爲'YES'的地圖確實會耗盡電量。 如何設置'desiredAccuracy'改變這個?要查看重大變化,GPS是否必須打開,從而消耗電池? 謝謝 –

+0

我不太確定蘋果如何實現它,但他們表示,要求更低的精度會節省電池壽命。也許他們會等待,看看手機是否改變了手機信號塔,然後啓動GPS以獲取實際位置。你可以在用戶的​​位置放置其他東西,但藍色脈衝球是Apple和大多數應用程序對用戶位置實時跟蹤的意思。如果您將它用於過時的位置,您將會改變脈衝的含義。 – Craig

回答

2

只要使用本地標誌啓用此像這樣:

[mapView setShowsUserLocation:YES] 
相關問題