我有这段代码
LatLngBounds.Builder builder = new LatLngBounds.Builder();
builder.include(mainLocation);
builder.include(userLocation);
LatLngBounds bounds = builder.build();
CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, 0);
mMap.animateCamera(cu);
这样可以显示边界,但我想在屏幕的上半部分显示边界(有没有办法放置偏移y?)。
(希望这张照片能更好地解释一下)
答案 0 :(得分:2)
如果我理解正确,您现在得到的是地图居中,这意味着您提供的位置在地图上居中。并且您希望这些位置位于屏幕的上半部分。
似乎there is not这样的API,允许仅将填充应用于底部。
您可以在屏幕下方的LatLngBounds.Builder
添加虚假位置,现在CameraUpdate
也会包含该点,这将在您的上半部分移动您的2个真实点。
答案 1 :(得分:0)
答案 2 :(得分:0)
也许晚了,但我解决了这个问题。我在调用 animateCamera 之前为地图制作底部填充,更新后返回填充。
val heightValue = (Resources.getSystem().displayMetrics.heightPixels * 0.5).toInt()
map.setPadding(0,0,0,heightValue)
val update = CameraUpdateFactory.newLatLngBounds(bounds,50)
map.animateCamera(update,object:GoogleMap.CancelableCallback{
override fun onFinish() {
inUi {
map.setPadding(0,0,0,0)
}
}
override fun onCancel() {}
})