2013-07-12 2 views
0

Je travaille avec Google Maps V2 et je veux que la flèche bleue soit toujours centrée sur la carte lorsque je conduisais/que je bougeais. Mais il reste pendant 3-4 secondes sur place et saute soudainement au centre. Si je conduis vite, la flèche est même dans les quelques secondes sur la carte et saute ensuite au centre. Qu'est-ce que je fais mal dans le code?android googleMaps api v2 flèche non centrée par déplacement

public class MainActivity extends FragmentActivity implements LocationListener { 
.... 

//when button is clicked 
public void initStart() { 
    initMap(); 
    initLocation(); 
} 

public void initMap() { 
    supportmapfragment = (SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.googleMap); 

    myMap = supportmapfragment.getMap(); 
    myMap.setMapType(GoogleMap.MAP_TYPE_NORMAL); 
    myMap.setMyLocationEnabled(true); 
    myMap.getUiSettings().setAllGesturesEnabled(false); 
    myMap.getUiSettings().setZoomControlsEnabled(false); 
} 


    public void initLocation() { 
    lm = (LocationManager)getSystemService(LOCATION_SERVICE); 
    provider = LocationManager.GPS_PROVIDER; 

    Location location = lm.getLastKnownLocation(provider); 

    if(provider != null) { 
     onLocationChanged(location); 
    } 
    lm.requestLocationUpdates(provider, 0, 0, this); 
} 

    .... 

    @Override 
public void onLocationChanged(Location location) { 

if(location != null) { 

LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude()); 
myMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, 17)); 
} 
} 

Est-ce que quelqu'un a un conseil? merci à l'avance

PS: dsl pour mon anglais (ne est pas bon) :)

+1

Jetez un oeil à cette réponse ici http://stackoverflow.com/a/14305851/2045570 – nedaRM

+0

oui, mais c'est la nouvelle API ou pas ?? Je n'utilise pas encore la nouvelle API. Je dois travailler avec l'ancienne api. mon problème est seulement le marqueur/flèche en conduisant, pour le maintenir au centre de la carte. – user1953173

Répondre

0

Au lieu de LocationManager utiliser GoogleMap.setOnMyLocationChangeListener, qui vous avertit lorsque la position de point bleu est changé.

+0

Salut Maciej, donc je ne devrais pas utiliser le gestionnaire de location ?? pouvez-vous me dire comment et où dois-je utiliser le GoogleMap.setOnMyLocationChangeListener? Je suis honnêtement un peu confus. – user1953173