是否存在将Google地球定位到指定位置的KML标记序列?
如果我启动Google地球,请键入" Houston"在搜索文本框中按[搜索],地图位于德克萨斯州休斯顿。
你能通过KML完成吗?
如果没有,你会怎么做呢?我试图从C#应用程序中执行此操作。
谢谢!
答案 0 :(得分:1)
大多数基本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>
答案 1 :(得分:0)
我假设您正试图以KML文件中的多个点/功能为中心?
(据我所知)无法通过KML定义初始地图设置。也就是说,Google地球5.0支持Tours,使用FlyTo元素可以实现以某个位置为中心的目标,但我不相信无论如何都可以在没有JavaScript或插件的情况下自动播放播放列表(这是您的要求)这在KML中似乎否定了。)
我知道Google Maps API会自动居中并缩放已加载的KML文件(任何人都可以评论Google Earth是否也这样做了吗?)。我没试过,但我很好奇是否有办法利用这个行为使用文件夹。如果(和一个大的if):
(我都不知道这是真的)
您可以尝试将搜索点放在一个文件夹中,然后查看地图是否跟踪它。
我很抱歉这个回复的第二部分是一个疯狂的猜测,但我现在无法测试它并认为它值得一试。如果我打赌它,我的答案就是单靠KML无法实现。测试上面的黑客很容易,如果你没有机会,我今晚应该有时间尝试并发布一个附录。