我尝试创建在 JFrame 中显示某些区域的路线图的 Java Swing 桌面应用程序。但是电脑没有连接到互联网,它将在局域网中。地图应该就像我们滚动鼠标一样,我们从地图的高度向下移动。就像放大区域一样。
我试图通过谷歌找出我得到很多论坛链接,但每个链接都显示给我。
- 我必须做网络应用程序。
- 谷歌不支持“没有互联网”的地图设施。
- 我应该使用存储在文件夹中的大量 jpg 来显示
enter code here
不同高度的地图,这样当我们在 Google 地球应用程序中看到任何地图时,它看起来就像。
我找到了 goworldwind.org 但现在还不清楚。
任何线索/想法我该怎么做?
您好已使用以下程序在 jxbrowser 中显示地图
package dummy;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.WindowConstants;
import com.teamdev.jxbrowser.chromium.Browser;
import com.teamdev.jxbrowser.chromium.BrowserFactory;
public class GoogleMapDemo {
public static final int MIN_ZOOM = 0;
public static final int MAX_ZOOM = 21;
private static int zoomValue = 4;
public static void main(String[] args) {
final Browser browser = BrowserFactory.create();
JButton zoomInButton = new JButton("Zoom In");
zoomInButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (zoomValue < MAX_ZOOM) {
browser.executeJavaScript("map.setZoom(" + ++zoomValue + ")");
}
}
});
JButton zoomOutButton = new JButton("Zoom Out");
zoomOutButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (zoomValue > MIN_ZOOM) {
browser.executeJavaScript("map.setZoom(" + --zoomValue + ")");
}
}
});
JPanel toolBar = new JPanel();
toolBar.add(zoomInButton);
toolBar.add(zoomOutButton);
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.add(browser.getView().getComponent(), BorderLayout.CENTER);
frame.add(toolBar, BorderLayout.NORTH);
frame.setSize(700, 500);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
browser.loadURL("/home/StaticMapDemo/map.html");
//browser.loadURL("http://www.google.com");
}
}
我有 map.html 文件
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
html { height: 100% }
body { height: 100%; margin: 0; padding: 0 }
#map-canvas { height: 100% }
</style>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB7J1zsErb9_7jxNu5KU5kIENFObAQEbl0&;sensor=false">
</script>
<script type="text/javascript">
var map;
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(48.209331, 16.381302),
zoom: 4
};
map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map-canvas"/>
</body>
</html>
在运行程序时,我在控制台上遇到错误
Chromium 进程退出代码 127 11:59:16 信息:/tmp/jxbrowser-chromium-31.0.1650.57.8/jxbrowser-chromium:加载共享库时出错:libexpat.so.1:无法打开共享对象文件:没有这样的文件或线程“主”com.teamdev.jxbrowser.chromium.BrowserException 中的目录异常:无法创建浏览器。在 com.teamdev.jxbrowser.chromium.BrowserFactory.create(Unknown Source) at com.teamdev.jxbrowser.chromium.BrowserFactory.create(Unknown Source) at com.teamdev.jxbrowser.chromium.BrowserFactory.create(Unknown Source) at dummy .GoogleMapDemo.main(GoogleMapDemo.java:25) 原因:com.teamdev.jxbrowser.chromium.internal.ipc.IPCException:IPC 进程退出。退出代码:127 at com.teamdev.jxbrowser.chromium.internal.ipc.k.run(Unknown Source) at java.lang.Thread.run(Thread.java:744) 11:59:16 信息:
如果是,我会朝着正确的方向在独立 PC 上的 Swing 应用程序中显示静态地图,然后请帮助