【问题标题】:"Hiding" an OverlayItem in Android , possible?在 Android 中“隐藏”一个 OverlayItem,可能吗?
【发布时间】:2011-05-27 18:40:06
【问题描述】:

我正在开发一个 MapView 应用程序,并想在程序中放置一个漂亮的小复活节彩蛋。我想要做的是有一个基本上不可见的覆盖项,但是当点击时会触发一个事件来显示一个视图。

现在在 iPhone 上,我通过在我不想看到的注释上使用 setHidden:true 来完成此操作。注释仍然存在并且仍然可以点击,但是您看不到它。

我试图在 Android 中的 overlayItem 上找到一些等效的方法,但什么也没找到。我唯一的选择是完成这个以查找/创建透明图像并将其作为覆盖添加到 mapView 吗?如果必须,我可以这样做,但还有其他选择吗?如果没有,谁能给我指一个相对较小的透明图像?

【问题讨论】:

    标签: android android-mapview overlayitem


    【解决方案1】:

    我知道您找到了隐藏叠加层的方法,但还有更优雅的方法可以做到这一点。 为您的叠加层创建一个自定义类:

    public class MapOverlay extends Overlay{
    
        private Boolean visible;
    
        public MapOverlay(){
            this.visible = true;
        }   
    
        public void draw(Canvas canvas, MapView mapv, boolean shadow){
            super.draw(canvas, mapv, shadow);
    
            if (visible) {
                // draw what you want
            }
        }
    
        public Boolean isVisible() {
            return visible;
        }
    
        public void isVisible(Boolean visible) {
            this.visible = visible;
        }
    
        public void toggleVisible() {
            this.visible = !visible;
        }
    }
    

    然后在您的活动中,照常添加叠加层:

    mapView.getOverlays().addOverlay(new MapOverlay());
    

    稍后,如果您想显示/隐藏您的叠加层,只需调用:

    mapView.getOverlays().get(0).toggleVisible();
    

    或:

    mapView.getOverlays().get(0).isVisible(false);
    

    希望对你有帮助。

    【讨论】:

    • 你的意思是“MapOverlay 扩展 OverlayItem”吗?
    【解决方案2】:

    您可以在地图视图的顶部创建一个可点击的图像视图(相应地设置宽度/高度和透明的颜色),点击该视图时会触发复活节彩蛋。但是,它可能很难正确定位..

    除此之外,我可以想象使用自定义视图,如果 x,y 坐标在框内,则覆盖 onTouch 函数以触发复活节彩蛋。否则它会由地图视图处理。但这听起来对于一个复活节彩蛋来说可能需要做很多工作......

    【讨论】:

    • 我最后只是添加了一个基本上是透明图像的叠加层作为 itemizedoverlayitem,它工作得很好。谢谢你的其他想法。
    【解决方案3】:

    我发现最简单的解决方案是只使用不可见的可绘制对象并将其添加为覆盖项,所以这就是我所做的,它按预期工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多