你如何使用MyLocationOverlay类实现“跟我来”?

时间:2011-12-06 03:06:27

标签: android google-maps geolocation

我创建了一个应用程序,它使用MyLocationOverlay类显示用户的当前位置。但是,当用户更改其位置时,标记不会被重新定位。如何实施“关注我”功能?

我正在考虑让LocationManager尽可能频繁地更新,然后在onLocationChanged方法中调用animateTo方法,但这似乎是一个糟糕的解决方案。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

我所做的是将MyLocationOverlay扩展为MapActivity的内部类。然后,我覆盖onLocationChanged,并在该方法的animateTo上使用MapController

@Override
public synchronized void onLocationChanged(Location location) {
    if (location != null) {
        mapController.animateTo(
                new GeoPoint((int) (location.getLatitude()*1e6),
                             (int) (location.getLongitude()*1e6));
    }
    super.onLocationChanged(location);
}