首页 / 浏览问题 / 其他 / 问题详情
怎样查询发布到iserver服务器上地图的属性?
2EXP 2018年07月21日

 使用产品:iserver8c  操作系统  win10 x64

这是我的属性字段数据,想查询的是编码的字段,让相应编码的区块在图上高亮显示。

ID  名称  所在地  编码

1调研活动下城区1

2调研活动下城区13

3调研活动下城区22

4调研活动下城区5

5调研活动下城区8

6调研活动下城区10

7调研活动下城区9

8调研活动下城区23

9调研活动上城区17

10调研活动上城区4

11调研活动上城区19

12调研活动上城区2

13调研活动上城区3

14调研活动上城区15

15调研活动拱墅区20

16调研活动拱墅区21

17调研活动拱墅区7

18调研活动拱墅区5

19调研活动拱墅区14

20调研活动拱墅区16

21调研活动拱墅区22

22调研活动拱墅区24

23调研活动拱墅区13

下面是我找到的超图官网的代码,想请解释一下,我要怎么做(或者说,怎么修改代码)。

function getFeaturesBySQL() {
                vectorLayer.removeAllFeatures();

                var getFeatureParam, getFeatureBySQLService, getFeatureBySQLParams;

                getFeatureParam = new SuperMap.REST.FilterParameter({
                    name: "Countries@World",
                    attributeFilter: "SMID = 247"
                });
                getFeatureBySQLParams = new SuperMap.REST.GetFeaturesBySQLParameters({
                    queryParameter: getFeatureParam,
                    datasetNames:["World:Countries"]
                });
                getFeatureBySQLService = new SuperMap.REST.GetFeaturesBySQLService(url2, {
                    eventListeners: {"processCompleted": processCompleted, "processFailed": processFailed}});

                getFeatureBySQLService.processAsync(getFeatureBySQLParams);
            }

我可能描述的不是很清楚,如果可以的话,请告诉我这几个是什么意思:

1/name: "Countries@World"  (这是什么)

2/ attributeFilter: "SMID = 247"  (我要查询编码字段的话,是不是把SMID改为编码?)

3/datasetNames:["World:Countries"]  (这是数据集名称的意思吗)

1个回答

您好,

1.name: "Countries@World"中引号内的内容为 数据集@数据源;

2. attributeFilter为过滤条件,根据您的功能可以将SMID变为编码;

3.["World:Countries"]  中的格式是 数据源:数据集。

这些iServer 的API上都有,详细的可以参考API。
于浩
1
5,668EXP 2018年07月23日

谢谢您的帮助!我还有一个问题:查询多个地物,属性字段信息是不同的,怎样才能让他们各自显示各自的呢?

.bindPopup("ID:1")

像我这样写的话,每个信息都只能显示id:1了,我想要1的显示1,2的显示2这样。

再次谢谢你的帮助!

这种的话需要进行遍历,遍历的方法可以参考

http://iclient.supermap.io/examples/classic/editor.html#query_getFeatureByGeometry

谢谢你的帮助!!
...