java - Wicket:Openlayers Integration & Open Streetmaps Layer

标签 java dictionary mapping wicket

我想在我的 apache wicket 应用程序中包含一个开放式街道 map 小部件。我正在使用 wicket-contrib-openlayers来自 wicket-stuff 的组件和以下代码:

    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);

这是组件中 SimpleOpenStreetMapExample 的 1:1 副本。现在的问题是:如何设置 map 的中心。我试了一个

map.setCenter(new LonLat(5, 50), 13);

在“添加( map );”之后从上面的代码。这不起作用, map 根本没有改变。我不确定 Lon 和 Lat 必须使用什么单位,我还尝试使用以下方法将它们转换为 Mercator-System:

 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;
  }

但这没有帮助,没有任何改变。

那么:任何人都可以发布一个简短示例,说明如何将 OSM-Map 嵌入 Wicket 以及如何设置中心和缩放级别吗?

谢谢!

最佳答案

关于java - Wicket:Openlayers Integration & Open Streetmaps Layer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1213493/

相关文章:

java - 从函数内启用 Android 应用程序按钮

java - 如何从 URL 读取 JSON 文件?

java - Freemarker/Velocity - 日期操作

python - 从python中的嵌套字典中获取所有值

java - Orika 映射配置,用于使用默认映射将嵌套属性映射到另一个对象

math - ℝ³ -> ℕ 有限数量值的映射

javascript - 获取给定经纬度范围内的邮政编码

java - 如何在 android 中将 EditText 绘制到 Canvas ?

arrays - 过滤/识别具有匹配值的字典键

arrays - 无法将值添加到字典