低分辨率KML GroundOverlay

时间:2015-02-24 21:07:25

标签: google-maps google-maps-api-3 kml

我有一个让我疯狂了两天的问题。

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

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

以下是一个示例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 });

1 个答案:

答案 0 :(得分:2)

现在应该修复此问题 - 有关工作示例,请参阅Google Maps API issue