2015-04-01 76 views
7

我正在編寫使用Google Maps Android API V2的應用程序。當用戶打開地圖並每隔15秒獲取用戶位置時,該應用程序將以特定的經度和緯度爲中心(此位置硬編碼爲36.5323,-87.3546)。但是,當用戶第一次打開相機時,其中心爲(8.407168163601076,-87.35459994524717)。GoogleMap CameraUpdate移動到錯誤座標

這隻發生在用戶第一次打開地圖時。如果地圖關閉然後重新開啓,它將以正確的座標爲中心。這隻發生在Nexus 9上。我有兩臺其他設備用於測試它在第一次嘗試時是否將地圖正確居中的位置。

這是我的代碼調用將地圖:

LatLng pos = new LatLng(36.5323, -87.3546); 

    CameraUpdate center = CameraUpdateFactory.newLatLng(pos); 
    CameraUpdate zoom = CameraUpdateFactory.zoomTo(14); 

    map.moveCamera(center); 
    map.animateCamera(zoom); 

誰能告訴我爲什麼發生這種情況?

+0

這不僅發生了第一次,但每次變焦比,需要將更多的時間。所以一個'map'只是移動到錯誤的位置,如果你設置了這兩個事件之間的延遲,那麼@Aspicas解決方案就可以工作。 – deathangel908 2016-12-23 16:32:18

回答

15

試試這個

LatLng pos= new LatLng(LATITUDE, LONGITUDE); 

CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(latLng, 16); 
map.animateCamera(cameraUpdate); 
+0

這解決了它。謝謝。 – 2015-04-01 20:51:58