0

我正在尝试JMapViewer从指定的缩放级别加载以供离线使用。我已经能够zoom levels 1 to 18 and render很好地从我的本地机器上加载瓷砖。JMapViewer只有当minimum zoom level is 0 , 1, 2 or 3. 假设我将最小缩放级别更改为任何值greater than 3,J在绘制瓷砖时尝试获取位置时MapViewer抛出null pointer异常,并且程序根本没有启动。进行代码更改后,有什么方法可以从特定的缩放中加载它们。

以下是我提到的链接:

http://svn.openstreetmap.org/applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/

http://josm.openstreetmap.de/query?col=id&col=summary&col=type&col=status&col=priority&col=milestone&col=component&col=time&order=id&report=2

http://paulusschoutsen.nl/blog/2012/08/java-component-jmapviewer-with-offline-openstreetmap-support/

4

1 回答 1

0

我想我想通了。在 JMapViewer.java 中,我们需要将最小缩放级别指定为 OfflineOsmTileSource 的参数。然后我们需要指定 setDisplayPosition(tileSource.LonToX((lon1 + lon2) / 2, zoom_level),tileSource.LatToY((lat1 + lat2)/2, zoom_level), zoom_level);

希望它可以帮助某人。

干杯!

于 2015-08-25T20:43:29.803 回答