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