15.10.2013, 15:19
(15.10.2013, 11:56)routeconverter Wrote:(15.10.2013, 10:07)womisa Wrote: Ps.: Ich wollte noch die Koordinaten unter dem Cursor anzeigen, aber die sind "grotten" falsch. Im Mapsforge Forum habe isch schon nachgefragt,aber noch keine Antwort bekommen.
Gibts da einen Tipp von Dir was da falsch ist?
.......
public void mouseMoved(MouseEvent mouseEvent) {
double x = mouseEvent.getX();
double y = mouseEvent.getY();
byte zoom=mapViewPosition.getZoomLevel();
double lx =MercatorProjection.pixelXToLongitude(x, zoom);
double ly =MercatorProjection.pixelYToLatitude(y, zoom);
WmsMapViewer.longText.setText(String.format("%.4f",lx));
WmsMapViewer.latText.setText(String.format("%.4f",ly));
}
.....
Das sieht nicht schlecht aus. Ich nehme an, Du hättest WGS84-Koordinaten erwartet und bekommst Mercator-Projektionskoordinaten? Dafür gibt es NavigationConversion#mercatorXToWgs84Longitude und "Freunde" in RouteConverter.
...ich nerve vermutlich! Entschuldigung!
Aber selbst mit Deinem Tipp krieg ich das nicht hin. Irgendwie stehe ich da auf dem Schlauch im Nebel....... (Bahnhof)
Mir ist nicht klar was da zurückkommt:
double lx =MercatorProjection.pixelXToLongitude(x, zoom);
double ly =MercatorProjection.pixelYToLatitude(y, zoom);
setze ich die Mouse ins linke obere Karteneck, also x~0,y~0 kommt.
Latitude ~ 85.xxxx....... soll aber ~ 48.xxx.... sein
Longitude~ -179.xxxx....soll aber ~ 8.xxx.... sein
Wenn ich jetzt deinen Tipp verstanden hätte müßte ich
double longitude = lx* 180.0 / (EARTH_RADIUS * PI);
longitude =floor(longitude * 100000.0) / 100000.0;
Umrechnen aber da kommt dann -0.00162 raus. Also da verstehe ich zur Zeit nur Bahnhof.......
Kannst du mir da trotzdem weiterhelfen....?
Grüsse
Achim
Grüsse Achim
