Google Map KML图层地标点击事件返回ZERO_RESULTS

时间:2012-08-02 10:42:08

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

将监听器附加到KML层:

var layer = new google.maps.KmlLayer('http://sites.google.com/site/kmlprototypes/kmls/temp.kml?dc_=' + Math.random(),
{suppressInfoWindows:true,preserveViewport:true});

layer.setMap(map);

google.maps.event.addListener(layer, 'click', function (obj) {
    alert(obj.featureData.id);
});

KML文件有效(通过验证api检查),您可能会发现它here。 XML中的每个地标都有id属性,如:

<Placemark id="46">
  <Style>
    <IconStyle>
      <Icon>
        <href>
          <![CDATA[http://chart.apis.google.com/chart?chf=bg,s,EAF7FE02&chxt=y&chbh=a,4,4&chs=48x48&cht=bvg&chco=FF0000,0000FF&chds=20,9048.00,0,9048.00&chd=t:8149.00|9048.00]]>
        </href>
      </Icon>
    </IconStyle>
  </Style>
  <Point>
    <coordinates>30.49566650390625,50.721378326416016</coordinates>
  </Point>
</Placemark>

在Google地图对象中点击地标时,会返回正确的ID,但有时约{%}}的obj.featuredData.id约有50%null状态位于ZERO_RESULTS字段中)。我尝试过不同的数据集(从100点到1000点),但没有用。我也尝试过lat,lng的不同精度。

0 个答案:

没有答案