web-dev-qa-db-ja.com

GoogleマップでのKMZファイルの使用

GoogleマップでKMZファイルを使用する方法はありますか?私のKMLファイルは約10.7MBなので、Googleマップに読み込まれません。 KMZファイルは約2MBです。私が見る唯一の方法は、複数のKMLを用意することですが、手間がかかりすぎます。最終的にはそうなるかもしれませんが、KMZを使用できるかどうか疑問に思っていましたか?

ありがとう。

12
kaoscify

はい、MapsAPIを使用してKMZファイルを指定できます。

var kmzLayer = new google.maps.KmlLayer('http://www.kmzlinks.com/redirect.asp?id=110&file=PalmIsland%2Ekmz');
kmzLayer.setMap(map);

特定のケースでは、スクリプトは次のようになります。

<script type="text/javascript">
  function initialize() {
    var myOptions = {
      center: new google.maps.LatLng(58.33, -98.52),
      zoom: 11,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    var kmzLayer = new google.maps.KmlLayer('http://xeenat.com/energy/data.kmz');
    kmzLayer.setMap(map);
  }
</script>

しかし、KMLが大きすぎます。 KMZとして2MBに圧縮されていますが、Mapsは解凍後のサイズを確認します。この場合、サイズは10MBを超えています。少し切り詰めてみてください。KMZURLを上記の最初のスニペットのURLに置き換えると、機能します。複数のKMLファイルを使用する必要があるようです。おそらく、KMZをGoogle Earthに読み込んでから、各州を独自のファイルとして保存することができます(Earthの[場所]タブでフォルダを右クリックし、[名前を付けて保存...]を選択します)。

17
Mike Jeffrey

はい、KMLファイルを指定するのとまったく同じ方法でKMZファイルを指定できます。両方を同時に設定することもでき、変数名とファイル拡張子以外は何も変更されないことに注意してください。

var kmz_Layer = new google.maps.KmlLayer('http://www.kmzlinks.com/redirect.asp?id=110&file=PalmIsland%2Ekmz');
var kml_Layer = new google.maps.KmlLayer('http://www.kmzlinks.com/redirect.asp?id=110&file=PalmIsland%2Ekml');
kml_Layer.setMap(map);
kmz_Layer.setMap(map);
2
rhodesit