在 KML 描述中添加 FlyTo 链接

发布于 2024-11-29 01:24:44 字数 717 浏览 1 评论 0原文

我试图指定地标的描述以具有指向另一个地球位置的超链接,但不具有指向另一个地标的超链接。当点击链接时,我只想飞到地球上的那个位置。我不知道该怎么做。我尝试了以下 KML 标签的变体,但没有成功。该链接出现在气球描述中,但不会更改视图或执行飞达操作。这可以做到吗?下面的示例包括 MGRS 位置,Google 地球的搜索栏可以识别该位置。

<Placemark>
    <name>Untitled Placemark</name>
    <description><![CDATA[<a href="18S UH 27103 98673;flyto">Click Me</a>]]></description>
    <styleUrl>#msn_ylw-pushpin</styleUrl>
    <Point>
        <altitudeMode>clampToGround</altitudeMode>
        <gx:altitudeMode>clampToSeaFloor</gx:altitudeMode>
        <coordinates>-76.99418723939422,48.82106388888889,0</coordinates>
    </Point>
</Placemark>

I'm trying to specify a Placemark's description to have a hyperlink to another earth location, but not to another placemark. When the link is clicked, I simply want to fly to that location on the earth. I'm not sure how to do this. I've tried variations on the following KML tag below, but to no avail. The link appears in the balloon description, but doesn't change the view or do a flyto. Can this be done? Example below includes an MGRS position, which Google Earth's search bar understands.

<Placemark>
    <name>Untitled Placemark</name>
    <description><![CDATA[<a href="18S UH 27103 98673;flyto">Click Me</a>]]></description>
    <styleUrl>#msn_ylw-pushpin</styleUrl>
    <Point>
        <altitudeMode>clampToGround</altitudeMode>
        <gx:altitudeMode>clampToSeaFloor</gx:altitudeMode>
        <coordinates>-76.99418723939422,48.82106388888889,0</coordinates>
    </Point>
</Placemark>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

野生奥特曼 2024-12-06 01:24:44

您需要另一个包含该位置的 Kml 文件,如下所示的内容应该可以工作。创建以下文件。

<?xml version="1.0" encoding="UTF-8"?>
<kml>
<Document>
  <LookAt id="Location1">
    <longitude>-76.99156472538761</longitude>
    <latitude>38.81988094612709</latitude>
    <altitude>0</altitude>
    <heading>0</heading>
    <tilt>0</tilt>
    <range>1010</range>
    <altitudeMode>relativeToGround</altitudeMode>
  </LookAt>
  <LookAt id="Location2">
    <longitude>-76</longitude>
    <latitude>38</latitude>
    <altitude>0</altitude>
    <heading>0</heading>
    <tilt>0</tilt>
    <range>1010</range>
    <altitudeMode>relativeToGround</altitudeMode>
  </LookAt>
</Document>
</kml>

将该文件保存到公共服务器(例如“http://yourserver.com/your.kml”),然后只需链接到该文件并指定 Flyto 行为即可。

<Placemark>
<description>
  <![CDATA[ 
    <a href="http://yourserver.com/your.kml#Location1;Flyto">Click Me</a>
  ]]>
</description> 
</Placemark>

如果您使用 ID 将其他 LookAt 元素添加到文件中,则可以使用片段标识符指定要引用的外观。 IE

<a href="http://yourserver.com/your.kml#Location2;Flyto">Click Me</a>

You would need another Kml file that contains the location, something like the following should work. Create the following file.

<?xml version="1.0" encoding="UTF-8"?>
<kml>
<Document>
  <LookAt id="Location1">
    <longitude>-76.99156472538761</longitude>
    <latitude>38.81988094612709</latitude>
    <altitude>0</altitude>
    <heading>0</heading>
    <tilt>0</tilt>
    <range>1010</range>
    <altitudeMode>relativeToGround</altitudeMode>
  </LookAt>
  <LookAt id="Location2">
    <longitude>-76</longitude>
    <latitude>38</latitude>
    <altitude>0</altitude>
    <heading>0</heading>
    <tilt>0</tilt>
    <range>1010</range>
    <altitudeMode>relativeToGround</altitudeMode>
  </LookAt>
</Document>
</kml>

Save that file to a public server (e.g "http://yourserver.com/your.kml") then simply link to that file and specify the Flyto behaviour.

<Placemark>
<description>
  <![CDATA[ 
    <a href="http://yourserver.com/your.kml#Location1;Flyto">Click Me</a>
  ]]>
</description> 
</Placemark>

If you add additional LookAt elements to the file with IDs then you can specify which look at to reference using the fragment identifier. i.e.

<a href="http://yourserver.com/your.kml#Location2;Flyto">Click Me</a>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文