Java swing桌面应用程序内部某些区域的路线图?
我尝试创建JavaSwing桌面应用程序,它在JFrame中显示某个区域的路线图。 但pc未连接到internet,它将位于LAN中。 地图应该像我们在地图上从高处向下滚动鼠标一样。比如放大这个区域 我试图通过谷歌找到我得到的很多论坛链接,但每一个都显示了我Java swing桌面应用程序内部某些区域的路线图?,java,swing,jxbrowser,Java,Swing,Jxbrowser,我尝试创建JavaSwing桌面应用程序,它在JFrame中显示某个区域的路线图。 但pc未连接到internet,它将位于LAN中。 地图应该像我们在地图上从高处向下滚动鼠标一样。比如放大这个区域 我试图通过谷歌找到我得到的很多论坛链接,但每一个都显示了我 我必须做网络应用 谷歌不支持“没有互联网”的地图设施 我应该使用很多JPG,它们存储在文件夹中,用于显示地图frentercode hereom各种高度,这样我们在Google Earth应用程序中看到任何地图时都会像这样 我找到了gowo
entercode here
om各种高度,这样我们在Google Earth应用程序中看到任何地图时都会像这样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");
}
}
packagedummy;
导入java.awt.BorderLayout;
导入java.awt.event.ActionEvent;
导入java.awt.event.ActionListener;
导入javax.swing.JButton;
导入javax.swing.JFrame;
导入javax.swing.JPanel;
导入javax.swing.WindowConstants;
导入com.teamdev.jxbrowser.chromium.Browser;
导入com.teamdev.jxbrowser.chromium.BrowserFactory;
公共类GoogleMapDemo{
公共静态最终int MIN_ZOOM=0;
公共静态最终int MAX_ZOOM=21;
私有静态int zoomValue=4;
公共静态void main(字符串[]args){
最终浏览器=BrowserFactory.create();
JButton zoomInButton=新JButton(“放大”);
addActionListener(新ActionListener(){
已执行的公共无效操作(操作事件e){
如果(缩放值<最大缩放){
executeJavaScript(“map.setZoom(“+++zoomValue+”));
}
}
});
JButton zoomOutButton=新JButton(“缩小”);
添加ActionListener(新建ActionListener()){
已执行的公共无效操作(操作事件e){
如果(缩放值>最小缩放){
executeJavaScript(“map.setZoom”(+--zoomValue+”);
}
}
});
JPanel toolBar=新的JPanel();
工具栏。添加(缩放按钮);
工具栏。添加(缩放按钮);
JFrame=新JFrame();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.add(browser.getView().getComponent(),BorderLayout.CENTER);
frame.add(工具栏,BorderLayout.NORTH);
框架设置尺寸(700500);
frame.setLocationRelativeTo(空);
frame.setVisible(true);
loadURL(“/home/StaticMapDemo/map.html”);
//browser.loadURL(“http://www.google.com");
}
}
我有map.html文件
html{高度:100%}
正文{高度:100%;边距:0;填充:0}
#地图画布{高度:100%}
var映射;
函数初始化(){
变量映射选项={
中心:新google.maps.LatLng(48.209331,16.381302),
缩放:4
};
map=new google.maps.map(document.getElementById(“地图画布”),
地图选项);
}
google.maps.event.addDomListener(窗口“加载”,初始化);
在运行程序时,我在控制台上发现以下错误
11:59:16信息:操作系统名称:Linux 11:59:16信息:JRE版本:1.7 32位
11:59:16信息:JxBrowser内部版本:${build.number}11:59:16信息:
正在启动IPC。。。11:59:16信息:正在启动IPC服务器。。。11:59:16信息:
正在启动IPC进程。。。11:59:16信息:开始铬处理。。。
11:59:16信息:“/lib/i386 linux gnu/libudev.so.0”库存在:
FALSE 11:59:16信息:
“/tmp/jxbrowser-chromium-31.0.1650.57.8/libudev.so.0”库存在:
FALSE 11:59:16信息:在中查找libudev.so.x.x.x
“/lib/i386 linux gnu”。。。11:59:16信息:寻找libudev.so.x.x.x
在“/lib64”中。。。11:59:16信息:在中找不到libudev.so.x.x.x
“/lib64”和“/lib/i386 linux gnu”11:59:16信息:命令行:
/tmp/jxbrowser-chromium-31.0.1650.57.8/jxbrowser-chromium 1101
11:59:16信息:铬工艺出口代码127 11:59:16信息:
/tmp/jxbrowser-chromium-31.0.1650.57.8/jxbrowser-chromium:运行时出错
加载共享库:libexpat.so.1:无法打开共享对象
文件:线程“main”中没有此类文件或目录异常
com.teamdev.jxbrowser.chromium.BrowserException:未能创建
浏览器在
com.teamdev.jxbrowser.chromium.BrowserFactory.create(未知源)
位于com.teamdev.jxbrowser.chromium.BrowserFactory.create(未知
来源)在
com.teamdev.jxbrowser.chromium.BrowserFactory.create(未知源)
在dummy.GoogleMapDemo.main(GoogleMapDemo.java:25)处,由以下原因引起:
com.teamdev.jxbrowser.chromium.internal.ipc.ipc异常:ipc进程
退出。退出代码:127 at
com.teamdev.jxbrowser.chromium.internal.ipc.k.run(未知源代码)位于
运行(Thread.java:744)11:59:16信息:关闭IPC。。。
线程“thread-1”java.lang.NullPointerException中的异常位于
com.teamdev.jxbrowser.chromium.internal.ipc.ipc.b(未知来源)位于
com.teamdev.jxbrowser.chromium.internal.ipc.ipc.shutdown(未知
(来源)`com.teamdev.jxbrowser.chromium.internal.aq.run(未知)
java.lang.Thread.run(Thread.java:744)中的
在swing应用程序中显示静态地图的方向正确吗
在单机电脑上如果是,请帮助
如果我正确理解了这个问题,您正在寻找可以在应用程序脱机时使用的世界地图?能够做到这一点是有问题的,因为世界地图将非常大,我不认为有一个世界地图,作者将允许您下载整个内容 但是,如果您只对世界地图的一部分感到满意,那么这个网站可能会有所帮助:。它们提供了一个开源的世界地图,如果您查看“导出”选项卡,您可以找到有关如何获取可下载内容以供脱机使用的信息
如果您正在寻找一个具有在此地图上移动和缩放功能的代码示例,我建议您尝试自己编写,如果遇到任何特定于代码的问题,请创建一个新问题。如果我正确理解此问题,您正在寻找一个可以在应用程序脱机中使用的世界地图?能够做到这一点是有问题的,因为一张世界地图会非常大,我不认为有一张世界地图
<!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>