android google Maps api v2箭头没有移动居中

时间:2013-07-12 06:06:58

标签: android google-maps-android-api-2

我正在使用Google Maps V2,我希望当我开车/移动时,蓝色箭头始终位于地图的中心位置。但它仍然在现场持续3-4秒,然后突然跳到中心。如果我快速行驶,箭头甚至会在地图上的几秒钟内跳转到中心。我在代码中做错了什么?

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));
 }
}

有人有律师吗?提前谢谢

PS:sry for my english(不好):)。

1 个答案:

答案 0 :(得分:0)

而不是LocationManager使用GoogleMap.setOnMyLocationChangeListener,它会在蓝点位置发生变化时通知您。