gpt4 book ai didi

java - JMapViewer OSM map 无法拖动

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:56:33 26 4
gpt4 key购买 nike

我正在尝试确定哪种 map 绘制工具最适合我基于 java swing 的 OSM map 。之前我在MapPanel的基础上做了一个功能图.后来我几乎可以克隆该应用程序,只需将 MapPanel 替换为 JMapViewer使它也能正常工作。我更喜欢后者,因为它具有在 map 上放置标记和多边形的功能。然而缺点是由于某种原因我不能用鼠标拖动 map 。在 JMapViewer 的包中有一个显示相同行为的 Demo 类。如何使 OSM map 在 JMapViewer 中可拖动?

编辑:此代码将绘制可显示在面板中的 map 通过添加 mapController 使 map 可拖动和 setMovementMouseButton() .

private JMapViewer drawOpenStreetMap(double lon, double lat, int zoom) {
mapViewer = new JMapViewer();
mapViewer.setZoom(zoom);
mapViewer.setDisplayPositionByLatLon(lat, lon, zoom);
mapViewer.repaint();
DefaultMapController mapController = new DefaultMapController(mapViewer);
mapController.setMovementMouseButton(MouseEvent.BUTTON1);
mapViewer.addMapMarker(new MapMarkerDot(52, 5.5));
return mapViewer;
}

最佳答案

在运行 Demo.java 时,按住 Control 单击或右键单击 map 以平移 View 。使用 setMovementMouseButton() 控制行为。

关于java - JMapViewer OSM map 无法拖动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11659097/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com