次のコードを使用して、地図上の場所をクリックするだけで座標と高度を取得します。たとえば、ニューヨークストリートをクリックすると、アプリからニューヨークの座標が返されます。
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を返します。
この問題を解決する方法はありますか?