open-street-mapウィジェットを私のapache wicketアプリケーションに組み込みたいと思います。 IM wicket-stuffからwicket-contrib-openlayers成分と次のコードを使用して:コンポーネントからSimpleOpenStreetMapExampleの1コピー:Wicket:Openlayers Integration&Open Streetmaps Layer
List<Layer> layers = new ArrayList<Layer>();
Layer layerOSMTilesAtHome = new OSM("Osmarender", OSMLayer.TilesAtHome);
Layer layerOSMMapnik = new OSM("Mapnik", OSMLayer.Mapnik);
Layer layerOSMCycleMap = new OSM("CycleMap", OSMLayer.CycleMap);
layers.add(layerOSMMapnik);
layers.add(layerOSMTilesAtHome);
layers.add(layerOSMCycleMap);
HashMap<String, String> mapOptions = new HashMap<String, String>();
Bounds boundsExtend = new Bounds(new LonLat(-20037508.34, -20037508.34), new LonLat(20037508.34, 20037508.34));
mapOptions.put("maxExtent", boundsExtend.getJSconstructor());
mapOptions.put("projection", "new OpenLayers.Projection('EPSG:900913')");
mapOptions.put("displayProjection", "new OpenLayers.Projection('EPSG:4326')");
mapOptions.put("units", "'meters'");
mapOptions.put("maxResolution", "156543");
mapOptions.put("numZoomLevels", "18");
OpenLayersMap map = new OpenLayersMap("map", layers, mapOptions);
map.addControl(Control.LayerSwitcher);
map.addControl(Control.MousePosition);
map.addControl(Control.KeyboardDefaults);
add(map);
これは1です。問題は次のとおりです。マップの中心を設定するにはどうすればいいですか?私は "add(map);"の後に
map.setCenter(new LonLat(5, 50), 13);
の後に試しました。上のコードから。これはうまくいきません、地図は全く変わりません。ロンと緯度がでなければならないものをユニットイムわからない、私はまた、彼らにこの方法を使用してメルカトル図法、システムに変換しようとした:
private static double lon2Merc(double lon) {
return 20037508.34*lon/180.0;
}
private static double lat2Merc(double lat) {
lat = Math.log(Math.tan((90.0 + lat)*Math.PI/360.0))/(Math.PI/180.0);
return 20037508.34*lat/180.0;
}
しかしこのdoesntのヘルプを、何も変わりません。
So:OSM-MapをWicketに埋め込む方法と、センターとズームレベルを設定する方法を誰かが簡単に投稿できますか?
ありがとうございました!