【问题标题】:Always show zoom controls on a MapView始终在 MapView 上显示缩放控件
【发布时间】:2010-10-29 13:49:47
【问题描述】:

有没有办法始终在 MapView 上显示缩放控件?我已经使用

添加了缩放控件
map=(MapView)findViewById(R.id.map);
map.setBuiltInZoomControls(true);

但缩放控件会淡入淡出。我希望它们始终可见。

【问题讨论】:

    标签: android android-mapview


    【解决方案1】:

    通过将我自己的 ZoomControls 放入我的布局 xml 中解决了这个问题:

    <ZoomControls android:id="@+id/zoomcontrols"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
    

    然后设置 onClickListeners 来处理缩放:

        zoomControls = (ZoomControls) findViewById(R.id.zoomcontrols);
        zoomControls.setOnZoomInClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mapController.zoomIn();
            }
        });
        zoomControls.setOnZoomOutClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mapController.zoomOut();
            }
        });
    

    【讨论】:

    • “mapController”怎么样?
    【解决方案2】:

    Intrications 的解决方案确实有效,但您失去了内置功能,当您一直放大或缩小时,按钮会禁用。您可以改用以下代码来保留此功能:

    localMapView.getZoomButtonsController().setAutoDismissed(false);
    

    但是,这不会让您将控件放置在面板中您想要的任何位置,虽然它不会消失,但在用户触摸屏幕一次之前它不会第一次出现。我尝试在控制器上调用setVisible(true),但由于某种原因这似乎不起作用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-15
      • 1970-01-01
      • 2010-09-20
      • 2011-01-11
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 2016-10-21
      相关资源
      最近更新 更多