2015-04-01 11 views
7

Sto scrivendo un'app che utilizza l'API V2 di Google Maps per Android. L'app sarà centrata su una specifica latitudine e longitudine (questa posizione è codificata in modo rigido su 36.5323, -87.3546) quando l'utente attiva la mappa e ottiene la posizione dell'utente ogni 15 secondi. Tuttavia, quando l'utente per prima cosa accende la fotocamera su Centrap (8.407168163601076, -87.35459994524717).GoogleMap CameraUpdate si sposta su coordinate errate

Questo si verifica solo quando l'utente attiva per la prima volta la mappa. Se la mappa viene disattivata e quindi riattivata, si concentra sulle coordinate corrette. Questo è successo solo su un Nexus 9. Ho altri due dispositivi per testare dove centra correttamente la mappa al primo tentativo.

Questo è il codice che io chiamo per centrare la mappa:

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

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

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

qualcuno può dirmi perché questo sta accadendo?

+0

Ciò accade non solo la prima volta, ma ogni volta zoom richiede più tempo di movimento. Quindi una 'mappa' si sposta nella posizione sbagliata, se si imposta un ritardo tra quei 2 eventi funzionerebbe, comunque la soluzione @Aspicas funziona. – deathangel908

risposta

15

provare questo

LatLng pos= new LatLng(LATITUDE, LONGITUDE); 

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

Questo lo risolve. Grazie. –

Problemi correlati