如何在谷歌地图上的标记上设置点击监听器?

时间:2017-05-15 08:46:44

标签: android google-maps

我在示例中有两个标记,其中一个用于当前位置,一个用于 对于目的地我已经绘制了它们之间的路径路径,但现在在同一个示例中 我想在标记上设置一个点击监听器,你可以建议一些好的 示例与此相关..?

3 个答案:

答案 0 :(得分:2)

这就是为地图添加标记的onClick侦听器的方法:

GoogleMap mMap
Marker marker = mMap.addMarker(
       new MarkerOptions()
       .position(new LatLng(dLat, dLong))
       .title("Your title")                                       
       .icon(BitmapDescriptorFactory.fromResource(R.drawable.map_pin)));

mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
                    @Override
                    public boolean onMarkerClick(Marker m) {

}
}

答案 1 :(得分:1)

  1. 让您的类/片段实现OnMarkerClickListener
  2. 在您的设置中使用googleMap.setOnMarkerClickListener(this);注册标记点击回调到您的googleMap
  3. 覆盖onMarkerClick

    @Override
    public boolean onMarkerClick(final Marker marker) {
        //handle click here      
    }
    

答案 2 :(得分:1)

以下是使用Kotlin的方法:

private lateinit var mMap: GoogleMap  //declaration inside class

override fun onMapReady(googleMap: GoogleMap) {
    mMap = googleMap
    mMap.setOnMarkerClickListener { marker ->
        if (marker.isInfoWindowShown) {
            marker.hideInfoWindow()
            } else {
            marker.showInfoWindow()
            }
        true
        }
}

希望这对像我这样的初学者有所帮助。