Wie erhalte ich die Breiten- und Längengrade eines bestimmten Ortes, an dem ich lange auf der Karte in Android geklickt habe?Wie erhalten Sie den Breiten- und Längengrad auf Karte in Android?
13
A
Antwort
13
Für den langen Klick, empfehle ich Ihnen, http://www.kind-kristiansen.no/2010/handling-longpresslongclick-in-mapactivity/. In diesem Thema wird ausführlich erläutert, wie Sie in der Google Maps-API lange Klickereignisse abhören können, da nur wenige oder keine integrierten Funktionen vorhanden sind, die ich kenne.
Wie für den lat/lng-Code können Sie nach dem langen Klick die Pixel in Koordinaten umrechnen.
public void recieveLongClick(MotionEvent ev)
{
Projection p = mapView.getProjection();
GeoPoint geoPoint = p.fromPixels((int) ev.getX(), (int) ev.getY());
// You can now pull lat/lng from geoPoint
}
4
Sie finden das LongClick Ereignis verwalten müssen, und dann den Code verwenden, Längen- und Breitengrad mit dem folgenden Code, um herauszufinden:
GeoPoint geoPoint=mapView.getProjection().fromPixels((int)event.getX(),(int)event.getY());
int latitude = geoPoint.getLatitudeE6();
int longitude = geoPoint.getLongitudeE6();
wo ‚Ereignis‘ das Objekt ‚Motion‘ ist.
Verwenden Sie ein anderes Ereignis entsprechend Ihrem Fall.
0
Es gibt Breiten- und Längengrad, auf dem Punkt der Karte
map.setOnMapClickListener(new OnMapClickListener() {
@Override
public void onMapClick(LatLng point) {
//myMap.addMarker(new MarkerOptions().position(point).title(point.toString()));
//The code below demonstrate how to convert between LatLng and Location
//Convert LatLng to Location
Location location = new Location("Test");
location.setLatitude(point.latitude);
location.setLongitude(point.longitude);
location.setTime(new Date().getTime()); //Set time as current Date
txtinfo.setText(location.toString());
//Convert Location to LatLng
LatLng newLatLng = new LatLng(location.getLatitude(), location.getLongitude());
MarkerOptions markerOptions = new MarkerOptions()
.position(newLatLng)
.title(newLatLng.toString());
map.addMarker(markerOptions);
}
});
den Link in dieser Antwort zeigt auf einen Blog-Post klicken ich eine Weile zurück schrieb. Ich habe gerade einen neuen Beitrag mit einer Lösung geschrieben, die sauberer ist und besser funktioniert. Es könnte von Interesse sein: http://www.kind-kristiansen.no/2011/android-handling-longpresslongclick-on-map-revisited/ – rogerkk