【问题标题】:Call setLocationEnabled in another Button在另一个按钮中调用 setLocationEnabled
【发布时间】:2016-03-07 18:32:03
【问题描述】:

setLocationEnabled 是一个属性,它在地图顶部显示一个按钮,使地图转到当前位置。

但我想“隐藏”此按钮并在另一个自定义按钮上调用该方法。有办法吗?我不想创建一个大代码去当前位置,它并不快。我只想要一个与 setLocationEnabled(true) 功能相同的按钮。

我该怎么做?

【问题讨论】:

    标签: java android google-maps


    【解决方案1】:

    我已经处理了一个类似的问题,我从这里找到了一个非常详细的解决方案Google map for android my location custom button

    玩得开心!

    【讨论】:

      【解决方案2】:

      您可能知道,您可以使用以下命令隐藏当前位置按钮:

      UiSettings.setMyLocationButtonEnabled(false);
      

      现在,如果您想手动执行此任务,则必须自己完成一些工作。首先,您需要获取用户的当前位置。这可以通过覆盖 LocationListener 实现的onLocationChanged 函数来获取(和更新)。如果您不清楚如何执行此操作,请查看描述它的 documentationThis 可能也很有用!

      其次,您需要通过设置地图的摄像头来查看用户的位置,并(可能)在该位置设置一个标记。这是我在最近的一个应用程序中使用的功能,描述了如何做到这一点:

      public void moveToLocation(Location input) {
          Double lat = (double) (input.getLatitude());
          Double lon = (double) (input.getLongitude());
      
          final LatLng location = new LatLng(lat, lon);
      
          setLocMarker(location);
      
          mainMap.moveCamera(CameraUpdateFactory.newLatLngZoom(location, 16));
      
          //if you want the camera to have an "animated" effect, you can perform the following
          //mainMap.animateCamera(CameraUpdateFactory.zoomTo(16), 4000, null);
      }
      

      有关相机效果和动画的更多信息,请参阅documentation

      【讨论】:

        猜你喜欢
        • 2020-02-20
        • 1970-01-01
        • 1970-01-01
        • 2015-03-25
        • 2019-07-12
        • 1970-01-01
        • 2013-06-23
        • 1970-01-01
        • 2021-07-18
        相关资源
        最近更新 更多