2016-10-31 1 views
-1

Je travaille sur une carte ArcGIS. Je dois pouvoir interagir avec les calques KML.Couche KML interactive ArcGIS

Voici une version minimale de mon code actuel:

map = new Map("map", { 
    basemap: "topo", 
    center: [-108.663, 42.68], 
    zoom: 6 
}); 
parser.parse(); 

var kmlUrl = "https://dl.dropboxusercontent.com/u/2142726/esrijs-samples/Wyoming.kml"; 
var kml = new KMLLayer(kmlUrl); 
map.addLayer(kml); 
kml.on("load", function() { 
    console.log("done"); 
}); 

Here is a fiddle

Je cherche à obtenir quelque chose comme this map, qui décrit la couche sur le vol stationnaire. (Cet exemple provient de la classe FeatureLayer, mais mon KML est généré de façon dynamique Est-il possible de créer dynamiquement un featurelayer à partir de données KML?)

Comment puis-je écouter mouseover sur une forme KML?

Répondre

0

I figured it out ...

var kmlUrl = "https://dl.dropboxusercontent.com/u/2142726/esrijs-samples/Wyoming.kml"; 
var kml = new KMLLayer(kmlUrl); 
map.addLayer(kml); 
kml.on("load", function() { 
    var layers = kml.getLayers() 
    layers[0].on("mouse-over", function() { 
      alert("test"); 
     }); 
}); 

Active la couche KML est en fait composé de FeatureLayers. La solution consiste à obtenir les couches d'entités à partir de la méthode KMLLayer avec la méthode getLayers().