У меня проблема, которая сводила меня с ума на два дня.Низкое разрешение KML GroundOverlay
У нас есть приложение Google Maps, которое вытаскивает файл KML для отображения исторических карт в качестве наложений изображений. Примерно на прошлой неделе в нашем приложении появилось очень размытое изображение, которое вытаскивалось из серверов googleusercontent, а не наших. Что еще более озадачивает то, что изображения в кеше Google не такие же, как на моем сервере, они в три раза меньше.
Мне не повезло, что Google не использовал версию файла в кеше. Когда я меняю имя или каталог файла, я получаю ошибку 404 из URL-адреса googleusercontent, но не будет загружать фактическую ссылку, на которую ссылаются.
Пример: Файл KML (экспортирован из Google Earth). Изображение находится в том же каталоге, что и файл KML.
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<GroundOverlay>
<name>panel1</name>
<Icon>
<href>panel1.png</href>
<viewBoundScale>0.75</viewBoundScale>
</Icon>
<LatLonBox>
<north>37.5422476694301</north>
<south>37.53370251727466</south>
<east>-77.43246990568036</east>
<west>-77.44384562932868</west>
</LatLonBox>
</GroundOverlay>
</kml>
Вот звонок, который я делаю, чтобы загрузить KMLOverlay на свою карту.
this.GOOGLE_MAP = new google.maps.Map(document.getElementById('richmond_map'),{
center: new google.maps.LatLng(<lat_value>, <lng_value>),
zoom:16,
streetView: new google.maps.StreetViewPanorama($('#street')[0],{disableDefaultUI: true})
});
var d = new Date();
this.OVERLAY = new google.maps.KmlLayer({url: <url_to_KML_file>, clickable: false, map: this.GOOGLE_MAP, preserveViewport: true, zIndex:2 });