首页 / 浏览问题 / 移动GIS / 问题详情
android 怎么取消onTouch的单击事件?
66EXP 2020年05月14日

通过mapControl.setOnTouchListener(this);调用onTouch方法,用完之后。定义了一个布尔值closeClick来返回true,让onTouch方法不响应,效果达到了,但是屏幕上的地图不能滑动了

1个回答

您好,一般情况下是不需要去禁用onTouch事件的,您点击屏幕绘制点数据建议您使用长按事件而不是按下事件。还有地图移动可以设置Action为PAN来漫游地图。
9,127EXP 2020年05月14日
长按事件没有MotionEvent event参数啊,
您好,可以通过手势识别监听器来实现长按事件GestureDetector。也是mapcontrol的接口。可以参考行业导航、室内导航的demo,里面都有关于长按获取坐标的方法

通过长按事件可以取到了,谢谢!请问这个方法的单位是什么?平方米?立方米?还是亩​​​​​​​?

这个应该是和你的坐标系有关系的,应该是平方米或者平方度。立方米是体积
我用上面的代码在图层画了一个三角形的A面,然后结束这次画面,我清空了pDsRegion.clear();  然后三角形的A面还在地图上。我再重新长按事件画了一个三角形的B面,画完B面,然后A面就在地图上消失了,A和B不能共存吗?
你画面是通过哪个方法画的?是显示在地图的数据集图层还是跟踪图层?
if (pDsRegion.getCount() > 2) {
    mapControl.getMap().getTrackingLayer().clear();
    mapControl.getMap().getTrackingLayer().add(getGeoRegion(), "小班面数据");
}
mapControl.getMap().refresh();

显示在跟踪图层上的

你要清空所有对象就使用trackinglayer.clear(),清空某个对象使用trackinglayer.remove()方法,在每次清空后使用map.refresh()方法刷新地图。跟踪图层上可以添加多个几何对象的,在添加时标签对象要不同,也就是第二个参数。
想在地图上存在第二个面,就是"小班面数据"这个名字要不同,对吗?在一个跟踪图层上只能存在一个面,多加一个会造成上一个不存在,是吗?
你添加多少个面都可以,没有数量要求的。你在添加的时候设置不同的标签
...