Я использую следующий код, чтобы получить координаты и высоту, просто щелкнув место на карте... например, если я нажму на улицу Нью-Йорка, приложения вернут мне координаты Нью-Йорка.
public void onLocationChanged(Location location) {
double lat = (double) (location.getLatitude());
double lng = (double) (location.getLongitude());
double alt = (double) (location.getAltitude());
}
Я использую этот метод для получения данных о положении при касании в месте
@Override
public boolean onTap(GeoPoint p, MapView map) {
List<Overlay> overlays = map.getOverlays();
Message message = new Message();
Bundle data = new Bundle();
data.putInt("latitude", p.getLatitudeE6());
data.putInt("longitude", p.getLongitudeE6());
message.setData(data);
handler.sendMessage(message);
return super.onTap(p, map);
}
К сожалению, кажется, что объект GeoPoint не имеет метода, подобного p.getAltitudeE6()
аналогу долготы и широты.
Таким образом, получение широты и долготы нажатием на карту работает нормально, но высота возвращает 0 в каждом месте, где щелкнули.
Есть ли способ решить эту проблему?