1

Google Earthで、外部画像を使用してオーバーレイを作成するkmlファイルを作成しました。それはうまく機能し、Googleマップがそれを読み取って同様の方法で表示できるようにkmlを変換する合理的に便利な方法を見つけたいと思います。

グーグルマップはグーグルアースの座標を処理できないので、自分で変換しようとしました。たとえば、地球座標を置き換えました。

<gx:LatLonQuad>
<coordinates>
-80.34344837780532,33.1105864538138,0 
-80.31934785561177,33.09410014458361,0 
-80.30034967982111,33.11373571527255,0 
-80.32473786478347,33.13044135685429,0 
</coordinates>
</gx:LatLonQuad>

同等のマップ座標を使用:

<LatLonBox>
<north>33.13044135685429</north>
<south>33.11373571527255</south>
<east>-80.31934785561177</east>
<west>-80.34344837780532</west>
</LatLonBox>

残念ながら、これらは正確に「同等」ではありません。マップオーバーレイがわずかにずれており、正しく回転していません。

2つの画像は次のとおりです。

地球の例

ここに画像の説明を入力してください

マップの例

ここに画像の説明を入力してください

なぜそれが機能しないのかはわかりますが、別の解決策については途方に暮れています。画像オーバーレイが含まれている場合に、GoogleEarthkmlをGoogleMapskmlに変換する簡単な方法を知っている人はいますか?

4

1 に答える 1

1

KMLリファレンスごとに、aに<LatLonBox>もローテーションがあります。それがGoogleマップでサポートされているかどうかはわかりませんが、発生している問題に対処できるはずです。は<gx:LatLonQuad>、回転したボックスを指定することを可能にします(これはあなたがしていることです)、これはそれが指定するものです:

http://www.geocodezip.com/geoxml3_test/v3_geoxml3_kmltest_linktoB.html?filename=http://www.geocodezip.com/geoxml3_test/GoogleEarthPolygon.kml

GoogleマップのKMLリファレンスによると、LatLonBoxはサポートされていますが、回転はサポートされていません。

 KML Element    Supported in Google Maps? 
 <LatLonBox>    yes
 <rotation>     no

したがって、Googleマップで機能するには、オーバーレイを北/南東/西の境界(回転していないLatLonBox)に揃える必要があります。

計算されたLatLonBox(小さな青いボックス)に問題があります。緑色のボックスが必要です。

http://www.geocodezip.com/v3_GoogleEx_layer-kml_linktoB.html?filename=http://www.geocodezip.com/geoxml3_test/GoogleEarthPolygonA.kml

これを修正する唯一の方法は、元の画像を回転させて、大きなボックスに収まる北/南東/西の境界に位置合わせされた画像を保存することだと思います。

それか、何らかの方法で回転をサポートするカスタムオーバーレイを作成します。

于 2013-03-06T22:41:16.750 に答える