Java 未在android emulator中的新地理位置修复程序上更新位置

Java 未在android emulator中的新地理位置修复程序上更新位置,java,android,android-emulator,Java,Android,Android Emulator,我正在尝试使地图视图能够基于地质点缩放到当前位置。我正在使用telnet中的geo-fix命令设置位置。我的问题是,当我第一次使用geo fix输入位置时,我的代码将正确导航到地图上的某个位置。如果我尝试使用geo fix设置另一个位置,但它不会更新。以下是要更新的代码: public void updateLocation(Location loc) { p = new GeoPoint((int)(loc.getLongitude() * 1E6),(int)(loc.getLati

我正在尝试使地图视图能够基于地质点缩放到当前位置。我正在使用telnet中的geo-fix命令设置位置。我的问题是,当我第一次使用geo fix输入位置时,我的代码将正确导航到地图上的某个位置。如果我尝试使用geo fix设置另一个位置,但它不会更新。以下是要更新的代码:

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()中有以下内容:


我试图对其进行地理定位的点之间的距离足以满足最小距离要求。有人知道我遗漏了什么吗?

假设您的MapActivity实现了LocationListener,然后更改

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


“this”保存位置侦听器

假设您的MapActivity实现了LocationListener,然后更改

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


“this”保存位置侦听器调用mapView.invalidate()(请参阅)或
mapView.postInvalidate()(请参阅),具体取决于它是否在UI线程上运行

mc.animateTo(p);

调用
mapView.invalidate()(请参阅)或
mapView.postInvalidate()(请参阅),具体取决于它是否在UI线程上运行

mc.animateTo(p);