Javascript 在Google地图中更新KML图层数据而不生成新文件

Javascript 在Google地图中更新KML图层数据而不生成新文件,javascript,json,google-maps,google-maps-api-3,kml,Javascript,Json,Google Maps,Google Maps Api 3,Kml,我正在使用GoogleMapsAPI开发一个地图,其中特定区域用KML多边形勾勒出来,并为它们指定了某些数值。ID提供的那些区域在KML文件中定义。对于每个地区,我想显示一个特定的数量,比如说,匹配某个查询过滤器的居民数量 现在,问题是区域的多边形层可能是静态的-形状总是相同的。但是,我希望能够在收到新数据时动态更新它们的关联值,但目前这些值也在KML文件中设置。另一个问题是多边形填充颜色基于这些值,这些值也在KML中定义 当前,KML文件如下所示: (...) <Plac

我正在使用GoogleMapsAPI开发一个地图,其中特定区域用KML多边形勾勒出来,并为它们指定了某些数值。ID提供的那些区域在KML文件中定义。对于每个地区,我想显示一个特定的数量,比如说,匹配某个查询过滤器的居民数量

现在,问题是区域的多边形层可能是静态的-形状总是相同的。但是,我希望能够在收到新数据时动态更新它们的关联值,但目前这些值也在KML文件中设置。另一个问题是多边形填充颜色基于这些值,这些值也在KML中定义

当前,KML文件如下所示:

(...)
        <Placemark>
            <snippet></snippet>
            <description><![CDATA[<div class="googft-info-window">
<strong>Bedum</strong>: 62
</div>]]></description>
            <styleUrl>#Style2-polygon-1-map</styleUrl>
            <ExtendedData>
                <Data name='ID'>
                    <value>005</value>
                </Data>
                <Data name='REGION'>
                    <value>Bedum</value>
                </Data>
                <Data name='COUNT'>
                    <value>62</value>
                </Data>
            </ExtendedData><Polygon><outerBoundaryIs><LinearRing><coordinates>6.596591,53.348151 6.602419,53.341801 6.605422,53.341771 6.605371,53.339987 6.60532,53.338177 6.599265,53.336441 6.602115,53.33102 6.606643,53.331873 6.611121,53.330928 6.615495,53.32639 6.613943,53.324609 6.621189,53.315547 6.639193,53.315361 6.643511,53.309025 6.649538,53.309861 6.655538,53.309797 6.6305,53.27411 6.630323,53.273809 6.627348,53.26875 6.627296,53.266953 6.634608,53.260586 6.63595,53.25518 6.635872,53.252484 6.619341,53.250857 6.617894,53.25267 6.607407,53.252777 6.607412,53.252929 6.607458,53.254574 6.591365,53.256497 6.590857,53.258046 6.590566,53.258041 6.589825,53.258051 6.589813,53.258054 6.588051,53.25665 6.588296,53.257685 6.58973,53.26374 6.588933,53.263511 6.586707,53.262871 6.567202,53.262166 6.567276,53.264861 6.552241,53.26321 6.550815,53.26592 6.552312,53.270814 6.552459,53.271297 6.555579,53.27576 6.557394,53.28887 6.557443,53.289223 6.561151,53.31525 6.561241,53.315403 6.564299,53.320611 6.564414,53.320969 6.569219,53.335841 6.567742,53.336754 6.56789,53.342145 6.567969,53.342364 6.569515,53.346623 6.57557,53.34836 6.577071,53.348346 6.582923,53.344726 6.582978,53.344692 6.588958,53.343734 6.596591,53.348151</coordinates></LinearRing></outerBoundaryIs></Polygon></Placemark>
(...)
因此,我的问题是:如何更新区域值及其关联的颜色,而不必生成整个KML文件服务器端?理想情况下,我只需加载一次KML文件,只需概述区域。 我正在寻找一种解决方案,如:

KML文件在页面加载时加载一次,仅包含多边形坐标和区域ID 与区域关联的值通过AJAX回调加载,即JSON格式并分配给区域 例如,多边形填充颜色根据指定的值从浅红色更新为深红色 当用户单击某个区域时,弹出一个带有区域ID和关联值的气球
这可能吗?请让我知道是否需要更具体。

如果可以接受使用实验性服务,我建议使用FusionTables,否则第三方KML解析器,如@geocodezip所述,Maps API Kmlayer似乎不是解决问题的最佳方法。我想看看其他的方法。我明白了。我刚刚尝试使用geoxml3解析器,这似乎是我想要的,但速度相当慢。使用融合表,如果我是对的,每次请求新数据时,我都必须生成一个新表。我不想将所有数据存储在融合表中,并查询FT API,因此这似乎也不起作用。。。