Osmdroid 如何覆盖KML事件?
我想添加当用户单击地图上的某个功能时将执行的逻辑 我注意到,当我在Osmdroid 如何覆盖KML事件?,osmdroid,Osmdroid,我想添加当用户单击地图上的某个功能时将执行的逻辑 我注意到,当我在FolderOverlay上单击一个功能时,它会在地图上打开一个工具提示,在我单击的多边形旁边显示“名称”和“描述”。太好了 我阅读了FolderOverlay.java中的onTouchEvent,但无法理解该函数如何找到当前按下的多边形 以下是函数: @Override public boolean onTouchEvent(MotionEvent e, MapView mapView){ if (isEnabled(
FolderOverlay
上单击一个功能时,它会在地图上打开一个工具提示,在我单击的多边形旁边显示“名称”和“描述”。太好了
我阅读了FolderOverlay.java
中的onTouchEvent
,但无法理解该函数如何找到当前按下的多边形
以下是函数:
@Override public boolean onTouchEvent(MotionEvent e, MapView mapView){
if (isEnabled())
return mOverlayManager.onTouchEvent(e, mapView);
else
return false;
}
简言之,如何将逻辑注册到“用户已单击地图上的某个功能”事件
谢谢FolderOverlay只是其他覆盖的容器,所以它只是将触摸事件委托给包含的子对象。我不确定KML是如何在库中实现的,但它可能会生成封装在folderoverlay中的多边形/多段线。这些人员负责tap处理,并决定tap是否在其区域内。例如,这里是多边形等的来源。这个答案可能会有帮助,但在您的场景中可能很难使用。@JosefAdamcik感谢您的提示。您是对的,在我的示例中很难使用,因为多边形是从KML文档实例化的,而不是直接从我这里实例化的。但我会试试:)。如果您想到其他内容,请告诉我。FolderOverlay只是其他覆盖的容器,所以它只是将触摸事件委托给包含的子对象。我不确定KML是如何在库中实现的,但它可能会生成封装在folderoverlay中的多边形/多段线。这些人员负责tap处理,并决定tap是否在其区域内。例如,这里是多边形等的来源。这个答案可能会有帮助,但在您的场景中可能很难使用。@JosefAdamcik感谢您的提示。您是对的,在我的示例中很难使用,因为多边形是从KML文档实例化的,而不是直接从我这里实例化的。但我会试试:)。如果你有别的想法,请告诉我。