通过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和附近的地方。我对地球的看法很模糊。请帮助。
您必须生成如下链接所示的输出类型。
我认为你在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>