CameraPosition不适用于setPadding

时间:2015-10-30 14:58:50

标签: android google-maps google-maps-android-api-2 android-maps-v2

  1. 设置全屏地图
  2. 设置一些填充,例如:map.setPadding(0, 200, 0, 0)
  3. 按用户
  4. 倾斜+旋转地图
  5. 尝试使用CameraPosition重置倾斜/旋转:

    CameraPosition cameraPosition = CameraPosition.builder()
            .target(userLatLng)
            .zoom(zoomLevel)
            .tilt(0)
            .bearing(0)
            .build();
    CameraUpdate update = CameraUpdateFactory.newCameraPosition(cameraPosition);
    map.animateCamera(cameraUpdate, mapAnimationCallback);
    
  6. 你会看到我们的地图有0倾斜和0承载,但目标不会与userLatLng相同。它总会有一些偏移。

    如果没有地图填充(map.setPadding(0, 0, 0, 0)),整个动画都可以正常工作。

    知道为什么会发生这种情况/如何在填充时使用tilt/bearing制作合适的动画?

1 个答案:

答案 0 :(得分:1)

自2013年10月3日起,这是一个仍然存在的漏洞。

https://code.google.com/p/gmaps-api-issues/issues/detail?id=5881&q=padding&sort=-stars&colspec=ID%20Type%20Status%20Introduced%20Fixed%20Summary%20Internal%20Stars

看起来不均匀填充也是根本原因。即map.setPadding(0, 200, 0, 200)将为您提供正确的动画。