ArcGIS 交互式 KML 图层

ArcGIS interactive KML layer

我正在处理 ArcGIS 地图。我需要能够与 KML 图层进行交互。

这是我当前代码的最小版本:

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

我正在寻找更像 this map, which outlines the layer on hover. (This example is from the FeatureLayer class 的东西,但我的 KML 是动态生成的。是否可以从 KML 数据动态创建要素图层?)

如何监听 KML 形状上的鼠标悬停?

我想通了...

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

原来KML层实际上是由FeatureLayers组成的。解决方案是使用 getLayers() 方法从 KMLLayer 获取要素图层。