Android/Google地图-模拟Google地图设备位置焦点
我正在寻找有关我的Android应用程序的帮助 在谷歌地图中,当您单击MyLocation按钮时,相机将锁定设备的移动,直到地图被拖走。我试图在我的地图上模拟这种行为 我当前的代码能够返回设备的位置并锁定它。问题在于更新锁定/解锁状态 我的想法是: -默认情况下,相机锁定在设备上。 -当摄像机移动时,检查其停止时的位置。如果它停在设备位置的顶部,则相机仍处于锁定状态。否则,摄像头将被解锁 这是正确的方法还是有更好的方法 谢谢, 代码:Android/Google地图-模拟Google地图设备位置焦点,android,google-maps,Android,Google Maps,我正在寻找有关我的Android应用程序的帮助 在谷歌地图中,当您单击MyLocation按钮时,相机将锁定设备的移动,直到地图被拖走。我试图在我的地图上模拟这种行为 我当前的代码能够返回设备的位置并锁定它。问题在于更新锁定/解锁状态 我的想法是: -默认情况下,相机锁定在设备上。 -当摄像机移动时,检查其停止时的位置。如果它停在设备位置的顶部,则相机仍处于锁定状态。否则,摄像头将被解锁 这是正确的方法还是有更好的方法 谢谢, 代码: 好的。我算出来了 我将SetOnCameradleListe
好的。我算出来了 我将SetOnCameradleListener更改为onCameraMove,这更有意义 这样,每次移动摄像机时,检查摄像机是否位于设备顶部 然后,onCameraMove inside需要在返回小数值时解释一些错误
@Override
public void onMapReady(GoogleMap googleMap) {
Log.d(TAG, "onMapReady: map loaded");
Toast.makeText(this, "Eat Safe!", Toast.LENGTH_SHORT).show();
map = googleMap;
if (locationPermissionGranted) {
getLastKnownLocation();
map.setMyLocationEnabled(true);
map.setOnMyLocationButtonClickListener(new GoogleMap.OnMyLocationButtonClickListener() {
@Override
public boolean onMyLocationButtonClick() {
Log.d(TAG, "onMyLocationButtonClick: camera locked");
cameraLocked = true;
return true;
}
});
map.setOnCameraIdleListener(new GoogleMap.OnCameraIdleListener() {
@Override
public void onCameraIdle() {
Log.d(TAG, "setOnCameraIdleListener: camera Idle");
LatLng cameraPosition = map.getCameraPosition().target;
if(cameraPosition.equals(myLocation)){
Log.d(TAG, "setOnCameraIdleListener: camera on top of device");
}else{
Log.d(TAG, "setOnCameraIdleListener: camera unlocked");
cameraLocked = false;
}
}
});
}
}