我开发了一个应用程序,在数据库中提取数据,并通过生成kml文件在Google地球上显示不同的多边形。
我可以做各种各样的事情,比如显示多边形,显示带有名称和描述的地标,但无法在多边形上显示图标图像。
我检查了记事本中的kml,它的格式正确。
我不明白我的错误在哪里,为什么我的地标图标没有显示在我的Google地球软件中。
这里我发布了我的整个kml代码。 您可以将其复制到记事本中并将其保存为kml。
注意: - 我的计算机中安装了Google地球软件,通过它我可以查看下载的KML文件。 请帮助我这方面。 感谢你。
此致 BhanuChandra
<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Style id="bsr">
<IconStyle>
<scale>1.5</scale>
<Icon>
<href>http://maps.google.com/mapfiles/kml/pushpin/grn-pushpin.png</href>
</Icon>
</IconStyle>
<LineStyle>
<width>3</width>
<color>ff0000ff</color>
<colorMode>random</colorMode>
</LineStyle>
<PolyStyle>
<color>51400FF</color>
<LabelStyle>
<color>7fffaaff</color>
<scale>1.5</scale>
</LabelStyle>
</PolyStyle>
</Style>
<Placemark>
<styleUrl>#bsr</styleUrl>
<name>Near Subbaraopally Village</name>
<description><![CDATA[<b>Circle : </b>Adilabad<br/><b>Division : </b>Bellampally<br/><b>Range : </b>Bellampally<br/><b>Year : </b>2015<br/><b>Type : </b>Block<br/><b>Planting Method : </b>Labour Intensive(AR)<hr><br/><font color=LightSlateGray size = 1>ID : 108</font>]]></description>
<MultiGeometry>
<Polygon>
<extrude>1</extrude>
<tessellate>1</tessellate>
<altitudeMode>ALTITUDE_CLAMP_TO_GROUND</altitudeMode>
<outerBoundaryIs>
<LinearRing>
<coordinates>79.49749,19.02856,0 79.49763,19.02929,0 79.49739,19.02944,0 79.4979,19.0311,0 79.49628,19.03258,0 79.5002,19.0356,0 79.5007,19.0342,0 79.50138,19.03229,0 79.4997,19.03065,0 79.49749,19.02856,0 </coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</MultiGeometry>
</Placemark>
<Placemark>
<styleUrl>#bsr</styleUrl>
<name>Bamboo with Misc 5x5 Bamboo (2.5x2.5 Misc) 10 Ha Near Gangaram Nagar</name>
<description><![CDATA[<b>Circle : </b>Adilabad<br/><b>Division : </b>Bellampally<br/><b>Range : </b>Bellampally<br/><b>Year : </b>2015<br/><b>Type : </b>Block<br/><b>Planting Method : </b>Semi Mechanical(AR)<hr><br/><font color=LightSlateGray size = 1>ID : 350599</font>]]></description>
<MultiGeometry>
<Polygon>
<extrude>1</extrude>
<tessellate>1</tessellate>
<altitudeMode>ALTITUDE_CLAMP_TO_GROUND</altitudeMode>
<outerBoundaryIs>
<LinearRing>
<coordinates>79.46981,19.07547,0 79.46986,19.07352,0 79.46985,19.07323,0 79.46861,19.07353,0 79.46556,19.07297,0 79.46554,19.07353,0 79.46607,19.07423,0 79.46693,19.07483,0 79.4679,19.0748,0 79.46785,19.07613,0 79.4698,19.07641,0 79.46981,19.07547,0 </coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</MultiGeometry>
</Placemark>
<Placemark>
<styleUrl>#bsr</styleUrl>
<name>Misc. Plantation at Waripet</name>
<description><![CDATA[<b>Circle : </b>Adilabad<br/><b>Division : </b>Bellampally<br/><b>Range : </b>Bellampally<br/><b>Year : </b>2015<br/><b>Type : </b>Block<br/><b>Planting Method : </b>Labour Intensive(AR)<hr><br/><font color=LightSlateGray size = 1>ID : 350782</font>]]></description>
<MultiGeometry>
<Polygon>
<extrude>1</extrude>
<tessellate>1</tessellate>
<altitudeMode>ALTITUDE_CLAMP_TO_GROUND</altitudeMode>
<outerBoundaryIs>
<LinearRing>
<coordinates>79.43114,19.05873,0 79.43082,19.05947,0 79.43044,19.06048,0 79.42989,19.0615,0 79.42976,19.06282,0 79.42985,19.06278,0 79.43007,19.06333,0 79.4304,19.06406,0 79.43073,19.06469,0 79.43098,19.06514,0 79.43174,19.06511,0 79.43106,19.06442,0 79.43066,19.06397,0 79.43061,19.06345,0 79.43005,19.06156,0 79.43132,19.05964,0 79.4313,19.05883,0 79.43114,19.05873,0 </coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</MultiGeometry>
</Placemark>
<Placemark>
<styleUrl>#bsr</styleUrl>
<name>Misc. Plantation at VSS Waripet</name>
<description><![CDATA[<b>Circle : </b>Adilabad<br/><b>Division : </b>Bellampally<br/><b>Range : </b>Bellampally<br/><b>Year : </b>2015<br/><b>Type : </b>Block<br/><b>Planting Method : </b>Semi Mechanical(AR)<hr><br/><font color=LightSlateGray size = 1>ID : 350783</font>]]></description>
<MultiGeometry>
<Polygon>
<extrude>1</extrude>
<tessellate>1</tessellate>
<altitudeMode>ALTITUDE_CLAMP_TO_GROUND</altitudeMode>
<outerBoundaryIs>
<LinearRing>
<coordinates>79.43598,19.06411,0 79.43665,19.0637,0 79.43723,19.06328,0 79.43742,19.06237,0 79.43725,19.06227,0 79.43741,19.06162,0 79.43762,19.06168,0 79.43788,19.06087,0 79.43873,19.05984,0 79.43935,19.05886,0 79.43988,19.05789,0 79.43965,19.05784,0 79.43924,19.05835,0 79.43835,19.05918,0 79.43786,19.05967,0 79.43732,19.06053,0 79.43686,19.06133,0 79.43709,19.06148,0 79.43687,19.06222,0 79.43647,19.06213,0 79.43648,19.06247,0 79.43614,19.0634,0 79.43954,19.05254,0 79.43944,19.05298,0 79.43923,19.05334,0 79.43926,19.05383,0 79.43931,19.05415,0 79.43893,19.05488,0 79.43867,19.05509,0 79.43887,19.05533,0 79.43886,19.05543,0 79.43893,19.05592,0 79.43939,19.05605,0 79.43974,19.05604,0 79.43945,19.05522,0 79.43949,19.05503,0 79.43952,19.05487,0 79.43948,19.05458,0 79.43948,19.05444,0 79.4395,19.05405,0 79.43958,19.05375,0 79.43974,19.05278,0 79.43975,19.05255,0 79.43598,19.06411,0 </coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</MultiGeometry>
</Placemark>
</Document>
</kml>
答案 0 :(得分:1)
主要问题是在使用多边形时显示图标和标签需要在多边形旁边的MultiGeometry中显示一个Point。如果地标几何图形是多边形,则图标和标签将不会出现在地图上 - 这需要一个点。
以下是第一个地标的此类几何图形示例:
<MultiGeometry>
<Point>
<coordinates>79.49883,19.03208</coordinates>
</Point>
<Polygon>
<extrude>1</extrude>
<tessellate>1</tessellate>
<outerBoundaryIs>
<LinearRing>
<coordinates>79.49749,19.02856,0 79.49763,19.02929,0 79.49739,19.02944,0 79.4979,19.0311,0 79.49628,19.03258,0 79.5002,19.0356,0 79.5007,19.0342,0 79.50138,19.03229,0 79.4997,19.03065,0 79.49749,19.02856,0 </coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</MultiGeometry>
KML中也存在一些小错误。首先,LabelStyle位于PolyStyle元素内。接下来,altitudeMode值无效: ALTITUDE_CLAMP_TO_GROUND 必须更改为 clampToGround 。