0
我已經看過我能找到的所有東西,還沒有找到解決方案。我試圖做一些非常簡單的事情:安卓谷歌地圖移動相機不起作用
protected void moveCamera(final LatLng position, final float zoom) {
getMap(new OnMapReadyCallback() {
@Override
public void onMapReady(final GoogleMap googleMap) {
logger.debug("Moving map to " + position);
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(position)
.zoom(zoom)
.build();
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}
});
}
沒有任何反應。沒有錯誤,沒有相機移動。相反,我也試過moveCamera
。我嘗試了不同類型的電話CameraUpdateFactory
,我嘗試了移動和縮放分開,我試圖推遲張貼與Handler
。有時候,這可以很好地工作,但是如果我把碎片放在地圖上並返回,那麼它就不起作用。地圖重置爲緯度0,0和標準地圖類型(它被設置爲混合),我無法讓它做任何事情。我知道這個方法正在被日誌語句調用。是否有某種生命週期的事情我需要做,以確保地圖可以恢復?
我真的不想切換到Mapbox或其他東西,因爲這將是很多工作來解決一個小錯誤,但我需要這個正常工作。
爲什麼你創建一個'CameraUpdate',然後不使用它呢? – nasch
如果我只是使用'moveCamera'和'animateCamera'部件,它什麼都不做。 'LatLngBounds bounds = LatLngBounds.builder()。build()'(我假設你正在做什麼,因爲'builder'沒有在你的代碼片段中定義)會產生這樣的錯誤:'java.lang.IllegalStateException:no included points ' – nasch