Markus Siebert

Categories

Latest News

Monthly archives


Search




Googlemaps mit Java jxmapviewer bzw jxmapkit

Hallo,

anbei ein kleiner Codeschnipsel, der es ermöglicht googlemaps als kartengrundlage für Javaprojekte zu nutzen. Ich greife dabei auf den JXMapViewer zurück. Ich stehe noch ganz am Anfang mit jxmapviewer.

Die Googlemaps-Tiles benötige ich um mal ein groben überblick über die Qualität der openstreetmaps zu erhalten… so kann ich die Qualität gut mit der von Google vergleichen

hier jetzt der TileProvider:

private void googlemapstest() {
final int max = 17;
TileFactoryInfo googlemaps = new TileFactoryInfo(0,max,max,
256, true, true,
//”http://mt1.google.com/mt?”, die 1 kann durch 1- 4 ersetzt werden… wegen dem LoadBalancing mit random ;)
“http://mt”+(int) (Math.random()*4+1)+”.google.com/mt?”,

“x”,”y”,”z”) {
public String getTileUrl(int x, int y, int zoom) {
zoom = max-zoom;
return this.baseURL +”x=”+x+”&y=”+y+”&zoom=”+(17-zoom);
}
};
googlemaps.setDefaultZoomLevel(1);

TileFactory tf = new DefaultTileFactory(googlemaps);
map.setTileFactory(tf);
map.setCenterPosition(new GeoPosition(51.10, 10.27));
}

Posted by admin April 2009


4 Responses to “Googlemaps mit Java jxmapviewer bzw jxmapkit”

admin Says: April 15th, 2009at 11:49 am

map.setCenterPosition(new GeoPosition(51.10, 10.27));
setzt die Mitte der Karte auf einen der möglichen Mittelpunkte Deutschlands ;)

Digitalnotiz Says: Juli 23rd, 2009at 10:39 am

Hallo!

Ist dir eine Möglichkeit bekannt, die Hybridkacheln (bestehend aus Satelliten- & teiltransparenten Standardkacheln) bzw. Satellitenkacheln zu nutzen? Habe dafür gerade keine Lösung gefunden.

Vielen Dank für eine Antwort!

admin Says: August 4th, 2009at 4:54 pm

Hallo bitte entschuldigt die späte Antwort…

Nein, ich habe leider keine Lösung im Augenblick, aber kann kurz allgemein schildern, wie man herausbekommt, welche url die maptiles haben.

Mit Networksniffern - zum Beispiel Ethereal - kann man sich den Netzwerktraffic mehr oder weniger übersichtlich anzeigen lassen.

Man startet das Programm und geht wie gewohnt im Browser auf maps.google.de, wählt die satelitenansicht und sieht die adressen der einzelnen Maptiles… dementsprechend muss der oben gepostete Tile-Provider angepasst werden.

Für die normale Karte lautet die url mt(1-4).google.com/mt?

Für Satelitenkarten khm(1-3).google.com/kh

für die Kombination weiss ichs nicht mehr…

Allgemein muss man aber die URLs anpassen, da diese Methode geblockt wurde. Schaut euch die Url der Tiles an und probiert die verschiedenen Parameter aus. Im allgemeinen sollte eine versionsnummer in den Parametern sein … stimmt diese nicht mit der aktuell auf googlemaps verwendeten überein, gibts keine Tiles ;)

Digitalnotiz Says: August 7th, 2009at 12:31 am

Hallo und danke für deine Antwort! Man kommt auch einfacher an die URLs heran: Im Firefox die Seiteninformationen aufrufen und im Reiter “Medien” dann die entsprechenden URLs zu den Tiles abgreifen. Allerdings liegt das Problem wohl eher bei den Parametern für die Zoomstufen. Ich bekomme in bestimmten Zoomstufen komischerweise nur wenige Tiles; die umliegenden werden nicht gefunden. Weiterhin funktionieren auch ca. nur zwei Zoomstufen überhaupt. Habe meinen Sourcecode für diesen Tileprovider leider gerade nicht spontan “griffbereit”. Falls du dich mal dem Problem annehmen möchtest, nur zu ;) Ansonsten nochmals danke für deine Mühe.

Post A Comment