【问题标题】:Android - Maps v2 - How to arrange z-axis of last marker drawnAndroid - Maps v2 - 如何排列绘制的最后一个标记的 z 轴
【发布时间】:2015-08-21 17:00:13
【问题描述】:

我已经在我正在构建的一个应用程序中组合了一个工具,该应用程序在 android 上使用 v2 版本的地图,当标记彼此非常接近时,它们会在彼此之上绘制,这不是问题,但我希望发生什么至少是让最后一个标记出现在顶部。

有没有办法确保最后绘制的标记显示在其余标记的顶部,或者在显示紧密组合在一起的标记时,我是否受系统决策的支配。

【问题讨论】:

    标签: android map z-axis


    【解决方案1】:

    现在我刚刚结束了使用

    marker.showInfoWindow();
    

    它为我提供了我想要的确切行为,即保持最后绘制的标记出现在屏幕上其他标记的最顶部。

    顺便说一句,它确实打开了信息窗口,但如果我真的想要,我可以设置一个自定义布局,并在特定条件下为信息窗口设置为空,但根据我的需要,窗口实际上效果很好打开。

    【讨论】:

      【解决方案2】:

      正如 James 已经写的那样,显示一个 InfoWindow 就可以了。

      您可以使用自己的适配器“显示”一个不可见的信息窗口:

      public class InfoWindowAdapter implements GoogleMap.InfoWindowAdapter{
      
      
      private final View mWindow;
      
      public InfoWindowAdapter(Activity activity) {
          mWindow = App.activity.getLayoutInflater().inflate(R.layout.custom_info_window,
                  null);
      }
      
      @Override
      public View getInfoContents(Marker mark) {
          return null;
      }
      
      @Override
      public View getInfoWindow(Marker marker) {
          render(marker, mWindow);
          return mWindow;
      }
      
      private void render(Marker marker, View view) {
          //do nothing
      }
      

      }

      将此设置为地图:

      map.setInfoWindowAdapter(new InfoWindowAdapter(activity));
      

      并显示信息窗口:

       currentlySelectedMarker.setSnippet(" ");
       currentlySelectedMarker.setTitle(" ");
       currentlySelectedMarker.showInfoWindow();
      

      setTitle 的调用很重要。否则 showInfoWindow() 将被忽略。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-04-04
        • 1970-01-01
        • 2013-07-14
        • 2015-09-19
        • 2013-02-26
        • 2013-06-14
        • 2023-03-05
        • 1970-01-01
        相关资源
        最近更新 更多