2017-02-06 4 views
0

KMLファイルを使ってポリゴンの中にカストムなテキストを描きたい。 KMLでポリゴンの中にカスタネットテキストを描画するにはどうすればよいですか?

<?xml version="1.0" encoding="UTF-8"?><kml xmlns="http://www.opengis.net/kml/2.2"><Document><Style id="White"><PolyStyle><color>64FFFFFF</color></PolyStyle></Style><Placemark><styleUrl>#white</styleUrl><Polygon><outerBoundaryIs><LinearRing><coordinates>-95.27999999999997,30.0175 -95.27166999999997,30.0175 -95.27166999999997,30.01083 -95.27999999999997,30.01083 -95.27999999999997,30.0175</coordinates></LinearRing></outerBoundaryIs></Polygon><ExtendedData><Data name="isColorful">true</Data><Data name="color">white</Data></ExtendedData></Placemark></Document></kml> 

Polygon-

のための私のKMLファイルは、私は、多角形の中央にテキストを表示するために任意のタグまたはプロパティが不足しています。 助けてください。

実際には、ポリゴンの内部にいくつかのデータを表示したいのですが、Pointとポリゴンを使ってKMLを作成しました。 -I iconスケールを0にしてアイコンを非表示にしました。 「Google Earth」のポリゴンの内側に名前ラベルが表示されますが、「Googleマップ」にラベルは表示されません。 私のサンプルKMLは

<?xml version="1.0" encoding="UTF-8"?><kml xmlns="http://www.opengis.net/kml/2.2"><Document><Style id="White"><IconStyle> <color>ff00ff00</color>   <colorMode>random</colorMode><scale>0</scale></IconStyle><LabelStyle><scale>0.6</scale></LabelStyle><PolyStyle><color>64FFFFFF</color></PolyStyle></Style><Placemark><name>64,100</name><styleUrl>#White</styleUrl><MultiGeometry><Point><coordinates>-95.27899999999997,30.0172</coordinates></Point><Polygon><outerBoundaryIs><LinearRing><coordinates>-95.27999999999997,30.0175 -95.27166999999997,30.0175 -95.27166999999997,30.01083 -95.27999999999997,30.01083 -95.27999999999997,30.0175</coordinates></LinearRing></outerBoundaryIs></Polygon></MultiGeometry></Placemark><Placemark><name>65,93</name><styleUrl>#White</styleUrl><MultiGeometry><Point><coordinates>-95.27066999999997,29.97053</coordinates></Point><Polygon><outerBoundaryIs><LinearRing><coordinates>-95.27166999999997,29.97083 -95.26333999999997,29.97083 -95.26333999999997,29.96417 -95.27166999999997,29.96417 -95.27166999999997,29.97083</coordinates></LinearRing></outerBoundaryIs></Polygon></MultiGeometry></Placemark></Document></kml> 

答えて

0

KML内の要素のいくつかは、KML 2.2仕様に関しても、無効なKMLを作成するための外にあるファイルを参照してください。まず、KMLを検証する必要があります。 KMLを検証するためのいくつかのヒントについては、hereを参照してください。

ExtendedData要素が間違っています。必須ではないvalue要素。

<ExtendedData> 
    <Data name="isColorful">true</Data> 
    <Data name="color">white</Data> 
</ExtendedData> 

restructuedするこの必要性:

<ExtendedData> 
    <Data name="isColorful"> 
     <value>true</value> 
    </Data> 
    <Data name="color"> 
     <value>white</value> 
    </Data> 
</ExtendedData> 

クリックしたときにKML目印がExtendedDataそして、これらのデータフィールドは、説明バルーンポップアップで人間が読めるHTMLテーブルでフォーマットされている場合。

HTML表をオーバーライドする場合は、HTMLマークアップを含むKML目印に<description>を追加します。 KML reference docsの説明セクションを参照してください。

更新: ポリゴンにテキストを表示するには、説明に従ってMultiGeometryにポイントとポリゴンを含める必要がありますが、目印に<name>要素を追加する必要があります。 name要素のテキストは、ポイントの位置に表示されるラベルになります。これはGoogle Earthでは動作しますが、Google Mapsでは動作しません。 KMLにはGoogleマップにいくつかの制限があります。ポリゴンの中心にテキストを追加する場合は、Google Maps API経由でラベルマーカーを追加します。 https://developers.google.com/maps/documentation/javascript/examples/marker-labels

+0

実際には、ポリゴンの内部にいくつかのデータを表示したいのですが、Pointとポリゴンを使用してを使用してKMLを作成しました。 -I iconスケールを0にしてアイコンを非表示にしました。 「Google Earth」のポリゴンの内側に名前ラベルが表示されますが、「Googleマップ」にラベルは表示されません。 –

関連する問題