CameraUpdateFactory缩放不起作用

问题描述:

private void setCurrentLocationMarker(LatLng currLatLng) { 
    if (currLatLng == null) { 
     Toast.makeText(getActivity(), "Check Internet Connection", Toast.LENGTH_SHORT).show(); 
     return; 
    } 
    mMap.moveCamera(CameraUpdateFactory.newLatLng(currLatLng)); 
    mMap.animateCamera(CameraUpdateFactory.zoomBy(R.integer.camera_zoom_value)); 
    setMarkerAtCentre(mMap.getCameraPosition().target); 
} 

private void setMarkerAtCentre(LatLng cameraCentre){ 
    if(cameraCentre == null) return; 
    MarkerOptions markerOptions = new MarkerOptions(); 
    markerOptions.position(cameraCentre); 
    markerOptions.icon(BitmapDescriptorFactory.defaultMarker()); 
    markerOptions.title("Your Position"); 
    sourceMarker = mMap.addMarker(markerOptions); 
} 

以上两项是将标记设置为所需经纬度并将相机对准位置的功能。 一切工作正常。 但是我在这里面临的问题是与变焦CameraUpdateFactory缩放不起作用

mMap.animateCamera(CameraUpdateFactory.zoomBy(R.integer.camera_zoom_value)); 

我可以将用于变焦的任何值。

<integer name="camera_zoom_value">2</integer> 

但我总是得到的缩放比例是最大的那个,即最大可能的缩放比例,这里有点问题。

任何人都可以帮我吗?提前致谢。

您正在直接传递资源整数而不使用getResources()。getInteger(),所以传递的值是一些长整数> 20,导致最大缩放。修复它,它会工作。

+0

嘿,这工作得很好.. –