SuperMap区域定位

本文介绍了如何在SuperMap中进行区域定位。首先打开地图并复制底图,利用对象操作进行切割,保存为数据集并手动添加区域名称。将数据集放入地图,设置在底图上层。接着展示定位代码实现,通过矢量图层加载到Map对象,并在按钮点击事件中调用定位方法,根据指定数据集进行查询。查询成功后更新定位坐标。
摘要由CSDN通过智能技术生成

如下图,点击定位按钮后查询并显示定位区域
在这里插入图片描述
首先打开SuperMap的地图,找到需要定位的底图。把它复制出来后,使用对象操作里的切割功能切成需要的定位的块。如果有已经做好的数据的就不需要使用这个方法切割了
在这里插入图片描述

然后保存成数据集,每区域的名称就要在属性表里面手动添加,再把它放到地图里面,记得把眼睛关掉,最好放在底图的上一层,避免查询时覆盖掉其他的内容。
在这里插入图片描述

代码部分

首先的是显示地图,声明一个矢量图层用于定位,然后把它加载到Map对象上。
在这里插入图片描述

接着调用定位,QuYuMap()是button按钮的点击事件,通过获取按钮参数来确定定位的是哪个区域。代码需要更改的地方只有镇区界_region_2@GISmanxingbing把它换成你的切割的数据集,注意后面是有@工作空间名称的



functionQuYuMap(Id) {
   

        var queryParam = [], queryBySQLParams, queryBySQLService;
       vectorLayer.setVisibility(true);
        //查询子网格

       queryParam.push(new SuperMap.REST.FilterParameter({
   

            name: "镇区界_region_2@GISmanxingbing",//查询数据集名称或者图层名称,根据实际的查询对象而定,必设属性

           attributeFilter: "SmID=" + Id,//属性过滤条件 
相当于 SQL 语句中的 WHERE 子句,
        }));

       queryBySQLParams = new SuperMap.REST.QueryBySQLParameters({
    //SQL 查询参数类。 该类用于设置 SQL 查询的相关参数。

           queryParams: queryParam//查询过滤条件参数数组

        });
       // SQL 查询服务类。 在一个或多个指定的图层上查询符合 SQL 条件的空间地物信息。

       queryBySQLService = new SuperMap.REST.QueryBySQLService(url, {
   //url 服务的访问地址

           eventListeners: {
    "processCompleted": processCompleted_PG }
        });

       queryBySQLService.processAsync(queryBySQLParams);
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值