Gis Bing映射图层-查找有关线段的信息

Gis Bing映射图层-查找有关线段的信息,gis,bing-maps,wkt,Gis,Bing Maps,Wkt,我有一个很大的物体,充满了来自GIS系统的WKT信息。我将数据循环并映射到各个层,然后将这些层推到地图上。这是工作良好,我得到了正确的数据显示 for (var j = 0; j < 10; j++) { var dataLayer = new Microsoft.Maps.Layer($scope.thing); for (var i = 0; i < bArray.length; i++) { if (bArray[i].count == $sco

我有一个很大的物体,充满了来自GIS系统的WKT信息。我将数据循环并映射到各个层,然后将这些层推到地图上。这是工作良好,我得到了正确的数据显示

for (var j = 0; j < 10; j++) {
    var dataLayer = new Microsoft.Maps.Layer($scope.thing);
    for (var i = 0; i < bArray.length; i++) {
        if (bArray[i].count == $scope.thing) {
            dataLayer.add(new Microsoft.Maps.WellKnownText.read(bArray[i].wkt);
            dataLayer.item = bArray[i].count;
        }
    }

    Microsoft.Maps.Events.addHandler(dataLayer, "click", polylineClicked);
    $scope.map.layers.insert(dataLayer);
    $scope.map.layers[j].setVisible(false);
    $scope.thing++;
}
每一层中的数据分成不同的类别,存储在字段项中,我在侧边图例中显示这些类别

我的问题是如何在地图上找到每个分段的项目?当我查看地图对象时,我可以看到图层,当我进入图层时,我可以看到基本体,但当我输入基本体时,它们在项目中都具有相同的类别,而不是它们应该具有的类别

如何查找每个细分的项目

谢谢
Docmur

首先,使用图层的元数据属性存储自定义信息,否则可能会覆盖图层类的一个内部属性。例如:dataLayer.metadata={item:customdata}


也就是说,项属性位于数据层上,而不是单个原语上。它还看起来像是在内部循环中一次又一次地向其添加相同的值,因此最终会得到许多相同的值。您能否提供更多关于您想要实现的目标的详细信息,因为可能有更简洁的方法来实现这一点。

当然,地图将存储来自10-20个不同层的数据,这些层由$scope.thing标识。我从中获取WKT的bArray是从我的后端返回的,它可以包含数千或上万个对象,其中每个对象都有一个类别、count item(与$scope.thing匹配)和一些WKT,等等。类别列在图例上,每个类别都可以通过复选框进行切换。当有人关闭某个类别时,我想隐藏与该类别匹配的所有分段,这就是为什么我想将该类别写在基本体上的原因。