【问题标题】:Send data from java program to google earth for realtime display从java程序发送数据到google earth实时显示
【发布时间】:2015-07-16 05:47:08
【问题描述】:

我有一个 java 程序,我想将其结果实时显示为谷歌地球上的功能。我尝试使用 kml,但我认为这不是解决方案。 我在谷歌开发者网站上发现有一个谷歌地球引擎 API,但它带有一个基于网络的 IDE,所以我的问题是,我如何将它与我的 Java 程序链接?

谢谢

【问题讨论】:

  • 你想达到什么目的? “向谷歌地球发送数据”是什么意思?
  • 我想用气球、时间戳、...和多边形绘制地标。
  • 我的意思是,我有一个模拟虚拟城市的 java 程序,我想在谷歌地球中显示像很多人(例如由多边形表示)的区域之类的数据。我有所需的坐标和时间戳,但我不知道如何在 Google 地球中实时显示它

标签: java google-maps kml google-api-java-client google-earth-plugin


【解决方案1】:

您可以在 JavaFX 中通过使用 WebView 并在其上实现 Google Map 来实现此目的。 看看这个网站:GMapsFX :: Add Google Maps to your JavaFX application.

【讨论】:

  • 我用过这个方法,效果很好。但是……Google 地球插件将于 2015 年 12 月 12 日停用。如果长寿对您很重要,您可能需要研究其他地图解决方案。
  • @AdamFinley 你说得对,我会检查其他地图解决方案我会检查 openlayers 是否可以提供我需要的东西,谢谢
【解决方案2】:

hmmm...我现在正在使用另一种解决方案,希望对您有所帮助:

(可以参考https://sites.google.com/site/canadadennischen888/home/kml/auto-refresh-3d-tracking)(另外,在我的其他页面,有示例java代码)

详情如下:

  1. 准备一个 RestFul 服务以从 DB 生成 KML 文件(KML 示例在上面的链接中)

  2. 我的其他 jsp 代码将生成一个 KMZ 文件,其中包含指向我的 Restful 服务的链接。 KMZ 文件有 onInterval (如底部)

  3. jsp网页允许用户下载KMZ文件。

  4. 当 Google 地球打开 KMZ 文件时,Google 地球会自动刷新以从该 Restful 服务获取新数据

  5. 每次刷新时,服务器都会将最新更新的 KML 数据和新数据一起发送给 GE。

KMZ 示例:

<?xml version="1.0" encoding="UTF-8"?>
 <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" 
 xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
 <NetworkLink> 
 <name>Dennis_Chen_Canada@Hotmail.com</name> 
 <open>1</open> 
 <Link> 
 <href>http://localhost:9080/google-earth-project/rest/kml/10001/20002</href> 
 <refreshMode>onInterval</refreshMode> 
 </Link>
 </NetworkLink>
 </kml>

结果为:

【讨论】:

    猜你喜欢
    • 2014-08-02
    • 1970-01-01
    • 2022-06-23
    • 2012-03-09
    • 1970-01-01
    • 1970-01-01
    • 2016-12-08
    • 1970-01-01
    • 2023-03-17
    相关资源
    最近更新 更多