2012-08-02 19 views
8

oyente Colocación en capa KML:Google Map KML evento capa de la marca de posición Haga clic en Volver 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); 
}); 

archivo KML es válida (comprobado mediante la validación API), puede que le resulte here. Cada marca de posición en XML tiene como atributo 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> 

Al hacer clic en una marca de posición en el mapa de google objeto devuelve Identificación del bien, pero a veces alrededor del 50% de las veces es obj.featuredData.idnull (ZERO_RESULTS estado está en status campo). He intentado diferentes conjuntos de datos (de 100 puntos a 1000), pero no ayuda. También he probado diferentes precisiones para lat, lng.

+0

Haga solo los [marcadores personalizados (los "gráficos")] (https://maps.google.com/maps?q=http:%2F%2Fsites.google.com%2Fsite%2Fkmlprototypes%2Fkmls%2Ftemp. kml & hl = en & gl = us & t = m & z = 9 & iwloc = lyrftr: kml: cu4G8yGAGMgyJQA_oDPu6YymLEiMB, ga181ff8803d8d1b7_886,50.483726,30.091553,0, -32) ¿presenta el problema? – geocodezip

+2

Parece que su archivo KML contiene demasiados marcadores personalizados. [Aquí] (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) es renderizado usando geoxml3 (tarda un poco en renderizarse). Si oculta esos marcadores (haga clic en el botón Ocultar), luego muestre el KmlLayer, verá una combinación de marcadores azules predeterminados y marcadores personalizados. – geocodezip

Respuesta

Cuestiones relacionadas