解決您的問題很大程度上取決於您的代碼。如果你想獲得幫助,你應該在SO問題中明確地包含相關的代碼位。
我打算做一個猜測,假設你的代碼看起來類似的MapView例如:
http://developer.anscamobile.com/reference/index/nativenewmapview
如果是這樣的話,問題是位置檢索很晚。
local function callMap()
-- Fetch the user's current location
-- Note: in XCode Simulator, the current location defaults to Apple headquarters in Cupertino, CA
local currentLocation = myMap:getUserLocation()
local currentLatitude = currentLocation.latitude
local currentLongitude = currentLocation.longitude
...
你想要的是該代碼執行得更早。理想情況下,應用程序啓動時。用戶將立即得到「此應用程序想要訪問GPS」消息,因此他們在查看地圖視圖之前將有更多時間「批准」。
你可以做的另一件事是使用緩存。將最新的已知位置存儲在某個位置(配置文件或數據庫,具體取決於您的設置)。當連接丟失或尚未檢索時,顯示地圖上的最後一個已知位置。
要澄清,真正的問題是我無法確定用戶是否已授予位置訪問權限,然後才能獲取其位置。我想知道是否有一個事件,回調或者這種性質的東西,我可以用來響應用戶對我的位置訪問請求的批准。 –
它看起來並不那樣。當gps訪問被禁用時,你獲得的經緯度是什麼? – kikito
另外,嘗試檢查位置事件中的'event.isError'字段。也許你可以使用它。也許我應該進一步澄清/更確切地說明一下。http://developer.anscamobile.com/partner/mapview – kikito