2017-09-03 60 views
0
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> 

但我總是得到的縮放比例是最大的那個,即最大可能的縮放比例,這裏有點問題。

任何人都可以幫我嗎?提前致謝。

回答

1

您正在直接傳遞資源整數而不使用getResources()。getInteger(),所以傳遞的值是一些長整數> 20,導致最大縮放。修復它,它會工作。

+0

嘿,這工作得很好.. –