我想弄清楚哪些映射工具最適合我的基於java swing的OSM地圖。早些時候,我根據MapPanel製作了功能圖。後來,我幾乎可以克隆應用程序,只需用JMapViewer替換MapPanel即可使其正常工作。我更喜歡後者,因爲它具有在地圖上放置標記和多邊形的功能。然而,缺點是由於某些原因,我無法用鼠標拖動地圖。在JMapViewer的包中有一個Demo類,它顯示相同的行爲。如何使OSMap在JMapViewer中可拖動?JMapViewer OSM地圖無法拖動
編輯:此代碼將繪製可以通過添加mapController
和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類的圖片[在這裏](http://wiki.openstreetmap.org/wiki/JMapViewer)。 – jhulst 2012-07-25 21:50:07