簡體   English   中英

如何在谷歌 map 中的標記上設置點擊監聽器?

[英]How to Set click listener on marker in google map?

我在示例中有兩個標記,一個用於當前位置,一個用於目的地,我在它們之間繪制了一條路線路徑,但現在在同一個示例中,我想在兩個標記上設置一個點擊監聽器,你能推薦一些與此相關的好例子嗎? .?

下面是如何使用 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
        }
}

希望這對像我這樣的初學者有所幫助。

這是為地圖上的標記添加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. 讓你的類/片段實現OnMarkerClickListener
  2. 使用googleMap.setOnMarkerClickListener(this);向您的 googleMap 注冊標記點擊回調googleMap.setOnMarkerClickListener(this); 在您的設置中
  3. 覆蓋onMarkerClick

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

在較新版本的 Google 地圖上,這不再有效,您應該使用:

MarkerManager(mMap).newCollection().apply {
    addMarker(MarkerOptions()
        .position(it)
        .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)))

        setOnMarkerClickListener {
            //handleClick    
        }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM