2010-10-04 2 views
0

Я пытаюсь сделать так, чтобы MapView увеличивал масштаб до текущего местоположения на основе GeoPoint. Я устанавливаю местоположение, используя команду geo fix в telnet. Моя проблема заключается в том, что когда я впервые ввожу место с помощью geo fix, мой код будет правильно перемещаться к местоположению на карте. Если я попытаюсь установить другое место с помощью geo fix, оно не будет обновляться. Вот код для обновления:Местоположение не обновляется по новому исправлению geo в эмуляторе Android

public void updateLocation(Location loc) { 
    p = new GeoPoint((int)(loc.getLongitude() * 1E6),(int)(loc.getLatitude() * 1E6)); 

    mc = mapView.getController(); 

    mc.animateTo(p); 
} 

и вот мой код, чтобы вызвать обновление:

LocationListener onLocationChange=new LocationListener() { 
    public void onLocationChanged(Location location) { 
     updateLocation(location); 
    } 

и т.д ...

У меня есть следующие в onResume():

super.onResume(); 
    myLocationManager.requestLocationUpdates("gps", 0, 200, onLocationChange); 

Точки, которые я пытаюсь установить geo, находятся достаточно далеко друг от друга, чтобы соответствовать требованиям минимального расстояния. У кого-нибудь есть идеи о том, чего я не хватает?

ответ

0

Предполагая, что ваш MapActivity реализует LocationListener, а затем изменить

myLocationManager.requestLocationUpdates("gps", 0, 200, onLocationChange); 

в

myLocationManager.requestLocationUpdates("gps", 0, 200, this); 

'это' держит местоположение слушателя