移动端如何为地图添加点击事件,再讲查询结果弹窗显示。

0 投票

如图,手动点击一块地块,查询该地块某属性信息,将查询结果输出。

我从sdk 里面的demo中没有找到相关实现的方法呀!

我用的supermap-imobile-9.0.1-103-android-zip-chs SDK,有木有实现该功能的方法供参考?

8月 23, 2018 分类:  745次浏览 | 用户: 噗呲君 (5 分)

2 个回答

0 投票
 
已采纳
MapControl中有addGeometrySelectedListener(GeometrySelectedListener listener)方法,并使用MapControl.setAction(Action.SELECT),
当可选图层有对象被选中时,会调用listener中的方法,再根据回调获得的被选中图层和对象ID实现您需要的属性查询以及其他关联操作。

示范代码中有一个BufferAnaylst,是选中一个对象在对该对象进行缓存区分析,与你的需求流程类似,可以参考。
8月 23, 2018 用户: 幸俊 锋芒毕露 (409 分)
采纳于 8月 23, 2018 用户:噗呲君

您好!请问SDK提供的示范代码BufferAnaylst中是加载本地离线数据的。有木有加载在线rest服务的方法?我自己尝试着写了一下,遇到了以下问题。

我想获取服务中的第一个地图,然后再对该地图中的某些子图层设置可选。但是我写的这个不能获取子图层,请问该如何获取子图层。还有我是参照示范代码BufferAnaylst里面写的。貌似这个demo里面是加载本地离线服务的。下图是示范代码

通常网络地图服务,是固定的一幅地图,不支持操作图层,没有子图层,显示的数据也是有服务提供绘制好的地图数据。像Rest,WMTS都是这样的,且都有缓存数据,即地图显示的图片。一般使用是采取网络地图为底图,矢量数据为业务图层,两者叠加作为本地的应用地图的使用方案。或者可以多个网络地图叠加,这个需要注意地图的背景要透明,以及比例尺和坐标系一致问题。
谢谢你的回答!在线加载的rest地图服务不能进行属性查询。那我想实现点击图层查询数据,地图和业务图层的叠加该如何实现?您提到的后者多个网络地图叠加应该也只是显示 不能查询吧。我看到发布在线服务的时候,发布的类型有数据服务,那个服务是不是可以做查询?
将需要用于查询的数据发布为数据服务,可以进行数据查询和地图查询,这个可以看Services模块相关的功能,示范代码GeometryInfo和Serice。

网络地图数据在使用时也是将一个数据集(影像数据集)添加到地图,再将其他的矢量数据添加到地图上就可以了。如,先打开百度地图,再加一个线数据集的图层。如果坐标系不一致,需对地图开启动态投影。
0 投票
你好,mapcontrol中有个对象选择事件,你可以添加这个事件,将选择的对象的属性信息查出来以弹出框的形式弹出来
8月 23, 2018 用户: 董懿鑫 名扬四海 (2,913 分)
...