2015-02-24 2 views
3

У меня проблема, которая сводила меня с ума на два дня.Низкое разрешение 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 }); 

ответ

Смежные вопросы