【问题标题】:Android Maps marker OnClick for each loop每个循环的 Android 地图标记 OnClick
【发布时间】:2018-08-08 10:14:23
【问题描述】:

所以我在每次旋转时都创建了一个新标记,但是我不确定如何为每个标记添加 OnClick 方法和侦听器,有人可以告诉我该怎么做吗?

    Public static void addMapMarker(ArrayList<int> Results){
        if(Results.size() < 20)
        {
            for (int i = 0; i != Results.size(); i++)
            {
                temp = Results.get(i).intValue();

                Log.d("Logger", "Adding marker");

                mMap.addMarker(new MarkerOptions()
                        .position(new LatLng(StationsList.get(temp).getLon(), StationsList.get(temp).getLat()))
                        .icon(BitmapDescriptorFactory.fromResource(R.drawable.dot))
                        .title(StationsList.get(temp).getName()));
            }
        }
   }

【问题讨论】:

  • 不相关 - 你的代码似乎有 LatLng 构造函数向后 - 它应该是纬度,经度。

标签: java android google-maps android-studio


【解决方案1】:

只需在地图本身上设置Listener。你会得到Marker 及其详细信息。您不必分别为每个标记设置侦听器。

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

              // do anything here when a marker lick

           }
        });

【讨论】:

  • 非常感谢 Zaid! :)
  • @很高兴为您提供帮助。如果它解决了你的问题。请点击接受的答案。
猜你喜欢
  • 2015-10-24
  • 1970-01-01
  • 2013-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多