是否有将 Google 地球定位到指定位置的 KML 标签序列?
如果我启动 Google 地球,在搜索文本框中输入“休斯顿”并按 [搜索],地图将定位到德克萨斯州休斯顿。
您可以通过 KML 完成此任务吗?
如果没有,你会怎么做呢?我正在尝试从 C# 应用程序执行此操作。
谢谢!
是否有将 Google 地球定位到指定位置的 KML 标签序列?
如果我启动 Google 地球,在搜索文本框中输入“休斯顿”并按 [搜索],地图将定位到德克萨斯州休斯顿。
您可以通过 KML 完成此任务吗?
如果没有,你会怎么做呢?我正在尝试从 C# 应用程序执行此操作。
谢谢!
大多数基本的 KML 文件如下所示:
<?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">
<Document>
<name>Name of KML</name>
<StyleMap>
.........
</StyleMap>
<Folder>
......
</Folder>
</Document>
如果您将<LookAt>
或分配<Camera>
给<Document>
节点,则无论何时加载 KML,它都应加载该视图 - 除非另有说明(例如通过 API/COM)
因此,您的 KML 应如下所示:
<?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">
<Document>
<name>Name of KML</name>
<LookAt>
..........
</LookAt>
<StyleMap>
.........
</StyleMap>
<Folder>
......
</Folder>
</Document>
我假设您正试图以 KML 文件中的许多点/特征为中心?
(据我所知)无法通过 KML 定义初始地图设置。也就是说,Google Earth 5.0 支持 Tours,并且使用 FlyTo 元素可以实现以某个位置为中心的目标,但我不相信无论如何可以在没有 JavaScript 或插件的情况下自动播放播放列表(您需要这样做)这在 KML 中似乎否定)。
我知道 Google Maps API 会自动居中并缩放加载的 KML 文件(任何人都可以评论 Google Earth 是否也这样做?)。我没有尝试过,但我很好奇是否有办法使用文件夹来利用这种行为。如果(以及一个很大的如果):
(我不知道这两个都是真的)
您可以尝试将您的搜索点放在一个文件夹中,然后查看地图是否跟踪到它。
很抱歉,此回复的整个第二部分都是一个疯狂的猜测,但我现在无法对其进行测试,并认为它可能值得一试。如果我押注它,我的答案将是仅靠 KML 无法完成。测试上面的 hack 很容易,如果你没有机会,我今晚晚些时候应该有时间尝试一下并发布一个附录。