1

嗨,我正在使用JMapViewer在我的 Swing 应用程序中显示地图,并且我已经成功创建了一个带有地图图块的面板,但是这些地图图块属于 Map Viewer 演示源中使用的特定区域,我对如何我可以显示我想要的某个特定区域的图块吗?就像谷歌地图一样,我想在地图上显示我的国家(巴基斯坦)的一些位置,但我不知道该怎么做。其次,请解释一下JMapViewer中的图层和图层组是什么?只是一个想法。

编辑:我如何下载伊斯兰堡地区的瓷砖,然后将它们添加到地图中。我从演示中学到的是:

private void loadMapTiles(){
     map().setTileSource(new OsmTileSource.Mapnik());
     map().setTileLoader(new OsmTileLoader(map()));
}

但这显示了他们设置的一些特定区域。

我已经下载了 JTileDownloader,但我对 url 的事情感到困惑,因为我现在不知道从哪里获取某个特定区域的 url。

4

1 回答 1

1
  1. 给定一个JMapViewernamed map,这样的东西应该显示伊斯兰堡:

    Coordinate c = new Coordinate(33.7167, 73.0667);
    map.setDisplayPosition(c, 10);
    
  2. org.openstreetmap.gui.jmapviewer.Demo包含在分发包中,是一个完整的示例,说明了如何使用Layer. 单击Tree Layers Visible复选框以查看效果。

附录:这是使用MapQuest-OSM在 11 倍变焦下的结果;Mapnik似乎也可以工作。如果 noTileSource包含您想要的图块,您可能需要此处提到的方法之一。

伊斯兰堡马普尼克

于 2014-08-08T00:40:58.577 回答