【问题标题】:how can show only marker on map but default info Window or custom infowindow should not shown on marker click?如何在地图上仅显示标记,但默认信息窗口或自定义信息窗口不应显示在标记单击上?
【发布时间】:2013-09-18 00:28:54
【问题描述】:

我有一个带有这么多标记(大约 1000 个)的谷歌地图(v2)。如果距离为 2 公里或更多,我需要一个条件标记不应该点击。我已经找到了距离,但默认窗口在所有标记上都打开。当距离

【问题讨论】:

    标签: android google-maps google-maps-markers infowindow android-maps-v2


    【解决方案1】:

    试试这个方法

    googleMap.setInfoWindowAdapter(new InfoWindowAdapter() {
    
            @Override
            public View getInfoContents(Marker marker) {
                return null;
            }
    
            @Override
            public View getInfoWindow(Marker marker) {
                View view = null;
                if (distance<2) {
                    view = LayoutInflater.from(ChatMapActivity.this).inflate(R.layout.map_window, null);
                }
                return view;
            }
        });
    

    【讨论】:

    • 我有一个自定义窗口:mapView.setInfoWindowAdapter(new CustomInfoWindowAdapter());
    • if (distance
    【解决方案2】:

    如果距离大于 2,则返回空视图,而不是返回 null。

    View emptyView = new View(getActivity());
    
    googleMap.setInfoWindowAdapter(new InfoWindowAdapter() {
    
        @Override
        public View getInfoContents(Marker marker) {
            return null;
        }
    
        @Override
        public View getInfoWindow(Marker marker) {
            if (distance < 2)
                return LayoutInflater.from(getActivity()).inflate(R.layout.your_layout, null);
            else return emptyView;
        }
    });
    

    【讨论】:

      【解决方案3】:

      您应该在地图上设置一个 OnMarkerClickListener,执行以下操作:

          map.setOnMarkerClickListener(new OnMarkerClickListener() {
      
              @Override
              public boolean onMarkerClick(Marker arg0) {
                  double distance = 0.0; // getDistance
                  // return true if you handled the click, false for default action (show window)
                  return distance > 2.0;
              }
          });
      

      参考: http://developer.android.com/reference/com/google/android/gms/maps/GoogleMap.OnMarkerClickListener.html#onMarkerClick(com.google.android.gms.maps.model.Marker)

      【讨论】:

        猜你喜欢
        • 2016-07-27
        • 2013-09-02
        • 2022-12-23
        • 2017-12-17
        • 2011-02-24
        • 1970-01-01
        • 2014-10-15
        • 2013-09-13
        • 1970-01-01
        相关资源
        最近更新 更多