2015-02-24 73 views
3

我有一个让我疯狂两天的问题。低分辨率KML GroundOverlay

我们有一个Google地图应用程序,它可以提取KML文件以显示历史地图作为图像叠加层。大约在上周,我们的应用程序开始显示非常模糊的图像,这些图像是从我们自己的googleusercontent服务器中提取的。更令人费解的是,Google缓存中的图像与我服务器上的图像大小不同 - 它们的尺寸比我的服务器小三倍。

我没有任何运气迫使Google不在他们的缓存中使用该文件的版本。当我更改文件的名称或目录时,我会从googleusercontent网址获取404错误,但它不会加载正在引用的实际链接。

以下是一个示例KML文件(从Google地球导出)。该图像与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 }); 

回答