2015-06-22 54 views
0

我想使用c#在kml文件中添加我的公司徽标。在kml文件中添加徽标

我已经尝试了很多东西,但没有任何工作。

请提前帮助我。

+2

显示你已经尝试了什么。 –

+0

http://stackoverflow.com/questions/15376320/writing-a-kml-using-c-sharp-screenoverlay?rq=1 –

回答

0

要将您的徽标添加到KML,您可以将ScreenOverlay添加到KML。

屏幕覆盖图定义的图像总是出现在屏幕上的一个固定位置,当您更改位置或放大/缩小时,该位置不会改变。另一方面,图像覆盖图固定在地图上随视图更改而移动的位置。

为了使徽标出现在左下角的地图添加到您的KML:

<ScreenOverlay> 
    <name>Logo</name> 
    <description>Screen overlay Example</description> 
    <Icon> 
     <href>http://www.google.com/intl/en_ALL/images/logo.gif</href> 
    </Icon> 
    <!-- put image at the left-corner of the image --> 
    <overlayXY x="0" y="0" xunits="fraction" yunits="fraction" /> 
    <screenXY x="5" y="5" xunits="pixels" yunits="pixels" />  
    </ScreenOverlay> 

<overlayXY>元素定义了一个点的图像和<screenXY> 定义地图上的锚点叠加图像被锚定到。覆盖图中的点可以在像素坐标系或分数坐标系中定义。

首先让KML达到您希望它出现在Google地球中的方式,然后对您的C#代码进行更改以生成它。

对于KML一个徽标的现实世界的例子见美国地质勘探局地震KML
http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_month_age_link.kml

+0

string strdocA = Server.MapPath(“〜/ Document/KML/doc.kml”) ; string strdocB = Server.MapPath(“〜/ Document/KML/MaxConLOGOnew.kml”); string strdocC = Server.MapPath(“〜/ Document/KML/vvkml”); –

+0

XmlTextWriter kml = new XmlTextWriter(path,null); kml.Formatting = Formatting.Indented; kml.WriteStartElement(“kml”,strdocA); kml.WriteStartElement(“ScreenOverlay”); kml.WriteElementString(“name”,“elephant”); kml.WriteStartElement(“Icon”); kml.WriteElementString(“href”,“images/elephant.jpg”); kml.WriteEndElement(); –

+0

kml.WriteStartElement(“overlayXY”); kml.WriteAttributeString(“x”,“0”); kml.WriteAttributeString(“y”,“1”); kml.WriteAttributeString(“xunits”,“fraction”); kml.WriteAttributeString(“yunits”,“fraction”); kml.WriteEndElement(); –