Я загружаю KMZ на карту Google, используя google.maps.KmlLayer
. KMZ содержит слой KML и несколько файлов изображений. Я хочу, чтобы на моей карте отображался только файл KML, но файлы изображений также добавляются.
Есть ли способ удалить элементы, отличные от KML (например, файл PNG), из архива KMZ, отображаемого с помощью google.maps.KmlLayer
? Кажется, я не могу найти PNG как элементы в DOM, иначе я бы просто скрыл или удалил их таким образом.
Одним из возможных решений может быть загрузка KMZ на сервер, извлечение только файла KML и добавление его на карту. Но я хотел бы попытаться сохранить это на стороне клиента, если это возможно.
Вот пример архива KMZ, который включает два файла PNG (в данном случае я хотел бы удалить только один из них, legend.png
):
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
zoom: 2,
mapTypeId: google.maps.MapTypeId.TERRAIN,
center: {
lat: 41.876,
lng: -87.624
}
});
}
initMap();
var kmlUrl = 'https://www.weather.gov/source/crh/shapefiles/wwa.kmz';
var kmlOptions = {
suppressInfoWindows: true,
preserveViewport: false,
map: map
};
var kmlLayer = new google.maps.KmlLayer(kmlUrl, kmlOptions);
<script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<div id="map" style="min-width: 800px; min-height: 660px"></div>