通过KML定位地球

本文关键字:地球 定位 KML 通过 | 更新日期: 2023-09-27 18:05:19

我的项目是基于c#的。我需要在google earth上显示经度和纬度为此我使用了这个代码

        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文件,但它没有显示完美的经度和纬度与placemark和附近的地方。我对地球的看法很模糊。请帮助。

通过KML定位地球

您必须生成如下链接所示的输出类型。

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

如果不想生成Placemark对象而是Location对象,则必须遵循以下链接

中指定的结构

如果你想放大查看'nearby-places',你需要指定标签'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>