我创建了一个应用程序,它使用MyLocationOverlay类显示用户的当前位置。但是,当用户更改其位置时,标记不会被重新定位。如何实施“关注我”功能?
我正在考虑让LocationManager尽可能频繁地更新,然后在onLocationChanged方法中调用animateTo方法,但这似乎是一个糟糕的解决方案。有没有办法做到这一点?
答案 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);
}