【问题标题】:Bing Maps Layers - Finding information on segment必应地图图层 - 查找分段信息
【发布时间】:2017-10-03 18:32:32
【问题描述】:

我有一个大对象,里面充满了来自 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++;
}

每一层中的数据分为不同的类别,存储在“项目”字段中,我在侧面图例中显示这些类别。

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

如何找到每个细分的“项目”?

谢谢 文档

【问题讨论】:

    标签: gis bing-maps wkt


    【解决方案1】:

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

    也就是说,您的 item 属性在 dataLayer 上,而不是在单个原语上。看起来您在内部循环中一遍又一遍地为其添加相同的值,因此您最终会得到很多相同的值。您能否提供有关您想要实现的目标的更多详细信息,因为可能有一种更清洁的方法可以做到这一点。

    【讨论】:

    • 当然,地图将存储来自 10 - 20 个不同图层的数据,这些图层由 $scope.thing 标识。我从中获取 WKT 的 bArray 是从我的后端返回的,它里面可以有成千上万个对象,其中每个对象都有一个类别、计数项,它与 $scope.thing 和一些 WKT 匹配,其中。类别列在图例上,每个类别都可以使用复选框进行切换。当有人关闭一个类别时,我想隐藏与该类别匹配的所有片段,这就是为什么我想在原语上写下类别。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多