【问题标题】:Location on Earth through KML通过 KML 在地球上定位
【发布时间】:2014-05-27 15:14:25
【问题描述】:

我的项目基于 C#。我必须在谷歌地球上显示经度和纬度,因为我使用了这个代码

        String filename = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
        filename = filename + @"\latlon.kml";
        XmlDocument doc = new XmlDocument();
        XmlElement docEle = doc.CreateElement("Placemark");
        doc.AppendChild(docEle);
        XmlElement root = doc.DocumentElement;


        XmlElement infoEle = doc.CreateElement("LookAt");           
        XmlElement altEle = doc.CreateElement("altitude");
        XmlElement nameEle = doc.CreateElement("latitude");
        XmlElement responseEle = doc.CreateElement("longitude");

        XmlElement aEle = doc.CreateElement("altitudeMode");

        infoEle.AppendChild(nameEle);
        nameEle.InnerText = txtLongitude.Text;
        infoEle.AppendChild(responseEle);
        responseEle.InnerText = txtLatitude.Text;

        infoEle.AppendChild(altEle);
        altEle.InnerXml = "1223";
        infoEle.AppendChild(aEle);
        aEle.InnerXml = "relativeToGround";


        root.AppendChild(infoEle);
        doc.Save(filename);

        Process.Start(filename);

问题是地球正在读取我的 KML 文件,但它没有显示带有地标和附近地点的完美经度和纬度。我的地球视图模糊。请帮忙。

【问题讨论】:

  • 如果您附上带有符号纬度/经度值的示例生成的 KML 文件会有所帮助。
  • 我没听懂。您能否解释一下生成的示例 KML 和符号纬度/经度值?
  • 将您的 KML 输出示例粘贴到您的问题中。

标签: c# kml google-earth


【解决方案1】:

您必须生成这种类型的输出,显示在以下Link

我认为您在 Placemark 的标签中缺少与 Point 的标签相关的部分。

如果您不想生成 Placemark 对象而是 Location 对象,则必须遵循以下link中指定的结构

如果您想放大查看“附近的地方”,您需要指定标签“LookAt”,并获得如下内容:

<LookAt>
   <longitude>YourLongitude</longitude>
   <latitude>YourLatitude</latitude>
   <altitude>YourAltitude</altitude>
   <range>YourRange</range>
   <tilt>50</tilt>
   <heading>0</heading>
</LookAt>
<Placemark>
   <Point>
     <coordinates>YourLongitude,YourLatitude,YourAltitude</coordinates>
   </Point>
</Placemark>

【讨论】:

  • 是的,你是对的,我错过了点标签的部分。非常感谢。
  • 地标现在可以通过点标签看到,但我仍然没有找到附近的地方。请帮助
  • “附近的地方”是什么意思?其他地标?
  • 就像我的代码现在是这样的地点或其他任何东西我只看到一个黄色地标,但我想要一个完美的位置,因为我们在搜索谷歌地球时输入经度和纬度。
  • 非常感谢您的帮助!我仍然没有得到正确的输出,可能是因为我没有以正确的方式进行操作:(
猜你喜欢
  • 1970-01-01
  • 2011-02-12
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 2018-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多