从指定的缩放级别加载 JMapViewer

Loading JMapViewer from a specified zoom level

我正在尝试从指定的缩放级别加载 JMapViewer 以供离线使用。我已经能够很好地从 zoom levels 1 to 18 and render 从我的本地计算机加载图块。 JMapViewer 仅在 minimum zoom level is 0 , 1, 2 or 3 时有效。假设我将最小缩放级别更改为 greater than 3,JMapViewer 在绘制图块时尝试获取位置时抛出 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/

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

希望对大家有所帮助。

干杯!