今天,回顾我的旧代码,我发现 OnCameraChangeListener()现在已被弃用.
Today, looking back at my old code, I've found out that OnCameraChangeListener() is now deprecated.
我发现很难理解如何修复我的这段代码:
I'm finding difficult to understand how to fix this piece of code of mine:
mGoogleMap.setOnCameraChangeListener(new GoogleMap.OnCameraChangeListener() { @Override public void onCameraChange(CameraPosition cameraPosition) { // Cleaning all the markers. if (mGoogleMap != null) { mGoogleMap.clear(); } mPosition = cameraPosition.target; mZoom = cameraPosition.zoom; if (mTimerIsRunning) { mDragTimer.cancel(); } mDragTimer.start(); mTimerIsRunning = true; } });新的侦听器(aka OnCameraMoveListener())方法 onCameraMove()没有 CameraPosition cameraPosition 输入变量,所以我我很迷路:有没有办法回收我的旧代码?
The new listener (aka OnCameraMoveListener()) method onCameraMove() doesn't have a CameraPosition cameraPosition input variable, so I'm pretty lost: is there a way to recycle my old code?
此处是一些参考
推荐答案在 play-services-maps 9.4.0版的API ,它们用三个摄像头监听器替换了GoogleMap.OnCameraChangeListener():
In play-services-maps 9.4.0 version of the API, They replaced GoogleMap.OnCameraChangeListener() with three camera listeners :
- GoogleMap.OnCameraMoveStartedListener
- GoogleMap.OnCameraMoveListener
- GoogleMap.OnCameraIdleListener
- GoogleMap.OnCameraMoveStartedListener
- GoogleMap.OnCameraMoveListener
- GoogleMap.OnCameraIdleListener
根据您的代码,我认为您需要像这样使用GoogleMap.OnCameraIdleListener和GoogleMap.OnCameraMoveStartedListener:
Based on your code, I think you need to use GoogleMap.OnCameraIdleListener and GoogleMap.OnCameraMoveStartedListener like this:
mGoogleMap.setOnCameraMoveStartedListener(new GoogleMap.OnCameraMoveStartedListener() { @Override public void onCameraMoveStarted(int i) { mDragTimer.start(); mTimerIsRunning = true; } }); mGoogleMap.setOnCameraIdleListener(new GoogleMap.OnCameraIdleListener() { @Override public void onCameraIdle() { // Cleaning all the markers. if (mGoogleMap != null) { mGoogleMap.clear(); } mPosition = mGoogleMap.getCameraPosition().target; mZoom = mGoogleMap.getCameraPosition().zoom; if (mTimerIsRunning) { mDragTimer.cancel(); } } });更多推荐
不建议使用OnCameraChangeListener()
发布评论