我的网络服务器上的KML文件没有更新Overlay Style

时间:2013-03-24 22:25:43

标签: google-maps kml google-latitude

我花了好几个小时试图弄清楚如何自定义Google Latitude Badge公共Feed。它的问题是它来自谷歌的预定义KML文件,没有办法改变它。我想到的是使用一些PHP提取坐标并将它们加载到我自己的KML文件中,该文件由我自己的网络服务器(我认为是公共访问)提供。

这样可行,但我遇到的最新问题是,当我重新加载页面时,我对KML(Ballonstyle等)所做的样式更改没有反映出来。我使用以下Javascript加载地图和叠加层:

var map;
var src = 'https://myip/kml/kmlfile.kml
    function initialize() {
      map = new google.maps.Map(document.getElementById('map-canvas'), {
        center: new google.maps.LatLng(-19.257753, 146.823688),
        zoom: 2,
        mapTypeId: google.maps.MapTypeId.TERRAIN
      });
      loadKmlLayer(src, map);
    }

    function loadKmlLayer(src, map) {
      var kmlLayer = new google.maps.KmlLayer(src, {
        suppressInfoWindows: true,
        preserveViewport: false,
        map: map
      });
    }

KML文件是由PHP脚本编写的文件,它从纬度Feed中获取最新的一组坐标。

现在这里真的很奇怪。为了尝试和诊断问题我从我的服务器中删除了kml文件....但是地图仍然加载并且似乎使用了许多迭代前的旧样式。当'src'位置中甚至不存在kml文件时,我对javascript如何加载地图感到非常困惑!?!这是缓存问题吗?

我最初在谷歌网站上有kml文件,但它不是一个可写的位置,所以我把它从那里移到我自己的网络服务器上。事实上,我已经从谷歌网站和我的网络服务器中删除了所有旧的kml文件,但地图和样式继续加载,好像通过魔法!

对于能够帮助我诊断这个奇怪问题的任何KML专家,我将不胜感激。

0 个答案:

没有答案