2012-03-17 7 views
1

私はAppleのKMLViewerコードを使用してMKMapViewにトラックを表示しています。 Google Earthの場所をKMLファイルとして保存してKMLファイルを作成しますが、KMLファイルのスタイルマップを変更しない限り、トラックは地図に表示されません。 KMLファイルの開始時にKMLViewerはスタイルマップのためトラックを表示しません

はスタイルマップです:

<Style id="lineStyle0000"> 
    <LineStyle> 
     <color>ff0600ff</color> 
     <width>4</width> 
    </LineStyle> 
</Style> 
<StyleMap id="lineStyle11000"> 
    <Pair> 
     <key>normal</key> 
     <styleUrl>#lineStyle0000</styleUrl> 
    </Pair> 
    <Pair> 
     <key>highlight</key> 
     <styleUrl>#lineStyle01</styleUrl> 
    </Pair> 
</StyleMap> 
<Style id="lineStyle01"> 
    <LineStyle> 
     <color>ff0600ff</color> 
     <width>4</width> 
    </LineStyle> 
</Style> 

そして、KMLファイル内のトラックが

<Placemark> 
    <name>Track01</name> 
    <visibility>0</visibility> 
    <styleUrl>#lineStyle11000</styleUrl> 
    <LineString> 
     <tessellate>1</tessellate> 
     <coordinates>... 

私はアプリを実行すると、トラックにはないで始まりますまったく表示されます。トラックの先頭にあるstyleUrlタグを#lineStyle11000から#lineStyle0000に変更すると、上手く表示されます。これは、1つまたは2つのトラックを表示するときには簡単に実行できますが、迷惑です。 1つのKMLファイルに表示するトラックが10個または15個の場合、実際には少し時間がかかります。

この問題を回避する手段はありますか?私はGoogle Earthですべてのトラックを管理して簡単に管理できるようにしていますが、アプリに入れるたびにファイルのテキストを手動で変更する必要はありません。あなたは自動的にすべてのstyleUrlsライン

grep -v styleUrl old.kml > new.kml 

を削除するには、ファイルを編集したり、検索を実行し、アプリ内で置き換えることができ

おかげ

答えて

1

私が使ってきた解決策は、実際には問題を解決していませんが、大丈夫です。 Google Earthはスタイルマップを使用してkmlファイルを書き出しますが、kmlファイルをGPSVisualizerでGoogle Earth KMLの出力形式で送信すると、ファイル全体が、AppleのKMLViewerが読むことができるよりシンプルな形式に変換されます。およびラインサイズ。

警報の種類は動作しますが、動作します。

0

+0

私は手動で検索と置換を行ってきましたが、各トラック行に独自のスタイルの独自のスタイルマップがあるため、実際には非常に高速化されません。アップルのKMLビューアの代替手段はありますか? Google EarthでKMLファイルを作成するには? – guthook

+0

"styleURL"ですべての行を削除すると、スタイルが残らず、kmlが正常に読み込まれます。ファイルを開いてディスクに保存し、AppleのKMLコードを続行する前に、ファイルを開いてその行を削除するには、アプリをちょっとスライドする必要があります。 – Craig

関連する問題