可点击的折线Google Maps API Android

Way*_*yne 5 android google-maps

我想点击谷歌地图v2 android地图上的一个点.如果单击的点与折线路径上的点相交,则显示折线.我没有在android中看到任何有关折线的可点击事件.我试图扩展当前的Polyline对象(标记为final)

我还有其他选择吗?

小智 15

您可以使用库:https: //github.com/googlemaps/android-maps-utils

并使用next方法(在OnMapClickListener中)检测到折线的点击次数:

  PolyUtil.isLocationOnPath(point, polyline.getPoints(), isGeodesic, tolerance);
Run Code Online (Sandbox Code Playgroud)


Rak*_*ari 12

随着最近更新的地图api,v8.4,引入了可点击的 Polyline

文档中所述:

使用OnPolylineClickListener可以在可点击折线上收听点击事件.要在地图上设置此侦听器,请调用 googleMap.setOnPolylineClickListener(...).当用户点击折线时,您将收到 onPolylineClick(Polyline)回调.

gradle这个依赖性:

compile 'com.google.android.gms:play-services-maps:8.4.0'
Run Code Online (Sandbox Code Playgroud)

实现回调:GoogleMap.OnPolylineClickListener

初始化折线:

Polyline polyline = googleMap.addPolyline(options);
polyline.setClickable(true);
...
Run Code Online (Sandbox Code Playgroud)

接收活动

@Override
public void onPolylineClick(Polyline polyline) {
     ....
}
Run Code Online (Sandbox Code Playgroud)

快乐编码:)


Com*_*are 2

注册一个OnMapClickListener. 您自己确定给定的点击是否发生在您的线路上。如果是,请在这种情况下执行您想做的任何操作。