2012-08-02 11 views
8

Collegamento ascoltatore a livello KML:Google Map KML strato segnaposto click evento tornare ZERO_RESULTS

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); 
}); 

file KML è valido (controllato da api convalida), si possono trovare here. Ogni segnaposto in XML ha attributo id come:

<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> 

Cliccando su un segnaposto in Google Map oggetto restituisce destra id, ma a volte circa il 50% del tempo obj.featuredData.id è null (ZERO_RESULTS stato è in status campo). Ho provato diversi set di dati (modulo 100 punti a 1000), ma non aiuta. Inoltre ho provato diverse precisioni per lat, lng.

+0

Fare solo i [marcatori personalizzati (i "grafici")] (https://maps.google.com/maps?q=http:%2F%2Fsites.google.com%2Fsite%2Fkmlprototypes%2Fkmls%2Ftemp. kml & hl = it & gl = us & t = m & z = 9 & iwloc = lyrftr: kml: cu4G8yGAGMgyJQA_oDPu6YymLEiMB, ga181ff8803d8d1b7_886,50.483726,30.091553,0, -32) mostra il problema? – geocodezip

+2

Sembra che il tuo KML contenga troppi indicatori personalizzati. [Qui] (http://www.geocodezip.com/geoxml3_test/v3_geoxml3_kmltest_linktoB.html?lat=50.501460&lng=30.404131&zoom=13&type=m&filename=http://www.geocodezip.com/geoxml3_test/kmlprototypes_temp_kml.xml) è reso usando geoxml3 (richiede un po 'di tempo per renderizzare). Se si nascondono questi indicatori (fare clic sul pulsante Nascondi), quindi visualizzare il KmlLayer, viene visualizzata una combinazione di indicatori blu predefiniti e indicatori personalizzati. – geocodezip

risposta