Использование файлов KMZ в Google Maps - PullRequest
12 голосов
/ 21 марта 2012

Можно ли как-нибудь использовать файл KMZ в Картах Google? Мой файл KML составляет около 10,7 МБ, поэтому он не загружается в Google Maps. Файл KMZ составляет около 2 МБ. Единственный способ увидеть это - иметь несколько KML, но это слишком много работы. Я мог бы в конечном итоге сделать это, но мне было просто интересно, можно ли использовать KMZ?

Спасибо.

Ответы [ 2 ]

17 голосов
/ 21 марта 2012

Да, вы можете указать файл KMZ с помощью API Карт:

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слишком большойНесмотря на то, что он сжат до 2 МБ в виде KMZ, Карты смотрят на размер после распаковки, а в вашем случае это больше, чем 10 МБ.Попробуйте немного сократить его - если вы замените свой URL-адрес KMZ на тот, что указан в первом фрагменте выше, он будет работать.Похоже, вам нужно использовать несколько файлов KML.Возможно, вы могли бы загрузить KMZ в Google Планета Земля, а затем сохранить каждую провинцию в виде отдельного файла (щелкните правой кнопкой мыши папку на вкладке "Места" на Земле и выберите Сохранить как ...)

2 голосов
/ 11 февраля 2015

Да, вы можете указать KMZ-файл точно так же, как вы бы указали KML-файл, который вы можете даже установить одновременно, заметив, что ничего не меняется, кроме имени переменной и расширения файла:

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);
...