Android谷歌地图的纬度和经度错误

Android谷歌地图的纬度和经度错误,android,google-maps,emulation,latitude-longitude,Android,Google Maps,Emulation,Latitude Longitude,目前,我正在谷歌地图上工作,但我有一个问题。当我 拉丁美洲时间:22.422006 液化天然气:23.084095 emulator像这样向我敬酒: 纬度:2.2422006E13 液化天然气:2.3084095E7 我读了很多教程,也做了完全一样的,但我不能处理这个问题 这是我的密码: public class MainActivity extends MapActivity { public static final String TAG = "GoogleMapsActivity"

目前,我正在谷歌地图上工作,但我有一个问题。当我

拉丁美洲时间:22.422006 液化天然气:23.084095

emulator像这样向我敬酒:

纬度:2.2422006E13 液化天然气:2.3084095E7

我读了很多教程,也做了完全一样的,但我不能处理这个问题

这是我的密码:

 public class MainActivity extends MapActivity {


 public static final String TAG = "GoogleMapsActivity";
    private MapView mapView;
    private LocationManager locationManager;
    Geocoder geocoder;
    Location location;
    LocationListener locationListener;
    CountDownTimer locationtimer;
    MapController mapController;
@Override

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mapView = (MapView)findViewById(R.id.mapView);
    mapController = mapView.getController();
    mapController.setZoom(16);
    mapView.setBuiltInZoomControls(true);
    readFromGPS();
}
private void readFromGPS() {
    locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);

    // Define a listener that responds to location updates
    locationListener = new LocationListener() {
    public void onLocationChanged(Location location) {
    // Called when a new location is found by the network location provider.

    Toast.makeText(getApplicationContext(), location.getLatitude()*1E6+"-"+location.getLongitude(), Toast.LENGTH_SHORT).show(); 

    }

    public void onStatusChanged(String provider, int status, Bundle extras) {}

    public void onProviderEnabled(String provider) {

    Toast.makeText(getApplicationContext(), "GPS Enabled", Toast.LENGTH_SHORT).show();
    }

    public void onProviderDisabled(String provider) {


    }
    };

    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,1000, 0, locationListener);

    }
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

@Override
protected boolean isRouteDisplayed() {
    // TODO Auto-generated method stub
    return false;
}


}

看起来代码给出的正是预期的结果。虽然您可能会对toast消息中的lat乘以1e6这一事实感到困惑,但对lon却没有这样做?我想您只是看到location.getLatitude()被转换为字符串的结果。尝试创建双精度来保存lat/long,并将get的结果分配给这些变量。@ScottW:I乘以1E6,以查看错误是否来自它。但它没有改变。所以,你可以考虑在纬度和经度上使用或不使用它。@BillMote:我也试过了。创建了两个double,比如double lat=location.getLatitude();但是结果没有改变。你能更具体地说明你的预期结果是什么吗?我想我不明白你认为这是错的。