【问题标题】:Google Maps Android MapView v2: disable zoomingGoogle Maps Android MapView v2:禁用缩放
【发布时间】:2013-04-08 12:06:08
【问题描述】:

有没有办法在MapView 中禁用缩放(捏合和双击)但保持滚动?

这意味着将 clickable 设置为 false 将不起作用。

我也尝试在activity 中设置onTouch listener,但它不会触发使用:

mapView.setOnTouchListener(this);

【问题讨论】:

    标签: android android-mapview google-maps-android-api-2


    【解决方案1】:
    import com.google.android.gms.maps.GoogleMap;
    
    public void onMapReady(GoogleMap map) {
    ...
    map.getUiSettings().setZoomGesturesEnabled(false);
    

    UiSettings Documentation

    【讨论】:

    • 这是正确的答案!!谢谢@laalto
    【解决方案2】:

    您可以使用XML 文件分配这些属性:

       map:uiRotateGestures="true"
       map:uiScrollGestures="true"
       map:uiTiltGestures="true"
       map:uiZoomGestures="true"
    

    所以使用:

       map:uiZoomGestures="false"
    

    MapFragment 对象上。

    【讨论】:

    • 将上述代码添加到 xml 中的我的地图片段时,此解决方案不起作用。 @JRichardsz 的答案是正确的。实施“map.getUiSettings().setZoomGesturesEnabled(false);”后我已成功禁用缩放。
    【解决方案3】:

    这是 Kotlin 的示例:

    map.uiSettings.setAllGesturesEnabled(false)
    

    【讨论】:

      【解决方案4】:

      你也可以尝试类似的事情..

      注意:此方法禁用 Google 地图 UI 的放大/缩小功能

      根据所问的问题,以上两个答案是正确的。感谢大卫更新我。

      GoogleMap myMap;
      
      myMap.getUiSettings().setZoomControlsEnabled(false);
      

      更多可用于 Google Map UI 的公共方法..

      https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/UiSettings#setZoomControlsEnabled(boolean)

      【讨论】:

      • 这不会禁用捏缩放和/或双标签缩放,它只会禁用默认显示在地图上的 +/- 缩放按钮。
      • yup David .. 它不会禁用 pinch 属性 .. 我错误地提到了这个答案。我的解决方案禁用 UI 中的缩放选项。上面的答案是正确的。 laato的回答也更准确。谢谢你更新我。正在更新一个新的。
      猜你喜欢
      • 2014-01-12
      • 2015-02-19
      • 1970-01-01
      • 2012-11-21
      • 1970-01-01
      • 2012-12-05
      • 2013-08-27
      • 2013-02-05
      • 1970-01-01
      相关资源
      最近更新 更多