Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在另一个按钮中调用setLocationEnabled_Java_Android_Google Maps - Fatal编程技术网

Java 在另一个按钮中调用setLocationEnabled

Java 在另一个按钮中调用setLocationEnabled,java,android,google-maps,Java,Android,Google Maps,setLocationEnabled是一个属性,它在地图顶部显示一个按钮,使地图转到当前位置 但是我想“隐藏”这个按钮并调用另一个自定义按钮上的方法。有办法吗?我不想创建一个大的代码去目前的位置,它不快。我只想要一个和setLocationEnabled(true)功能相同的按钮 我该怎么做呢?我处理过一个类似的问题,我从这里找到了一个非常详细的解决方案 玩得开心 如您所知,您可以使用以下命令隐藏当前位置按钮: UiSettings.setMyLocationButtonEnabled(fals

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

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


我该怎么做呢?

我处理过一个类似的问题,我从这里找到了一个非常详细的解决方案


玩得开心

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

UiSettings.setMyLocationButtonEnabled(false);
现在,如果您想手动执行此任务,您必须自己做一些工作。首先,您需要获取用户的当前位置。这可以通过覆盖LocationListener实现的
onLocationChanged
功能来获取(并更新)。如果您不清楚如何执行此操作,请查看描述它的文档。也可能证明是有用的

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

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);
}
有关摄影机效果和动画的更多信息,请参阅此