我最初为Google地图设置了缩放级别,我想根据边界中存在的标记数动态更改缩放级别。如果初始地图缩放中没有标记,则无法通过更改地图边界来动态更改缩放。
如果边界中没有标记,我会在边界中添加新标记,并为摄像机设置动画以合并新的边界,但实际上它正在做的是将地图的中心更改为新的位置,而不是当前的位置位置。我不想更改当前位置,只想缩小地图以包括这些标记。
if(noMarkersInBound){
LatLngBounds.Builder builder = new LatLngBounds.Builder();
builder.include(new LatLng(28.5795431, 77.317322));
builder.include(new LatLng(28.5805431, 77.328322));
LatLngBounds bounds = builder.build();
CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngBounds(bounds,0);
}
此方法CameraUpdateFactory.newLatLngBounds
会将当前位置更改为该范围,而不是缩小地图。
任何人都可以帮忙或告诉我实现这一目标的方法。
答案 0 :(得分:0)
我不确定我是否理解正确,但是如果您只想设置缩放级别,就可以这样做:
公共静态CameraUpdate zoomTo(浮动缩放)返回CameraUpdate 可以将相机视点移动到特定的缩放级别。
参数缩放所需的缩放级别,范围为2.0到21.0。 低于此范围的值设置为2.0,高于该范围的值设置为 21.0。增加该值以放大。并非所有区域都具有最大缩放级别的图块。
public void moveCamera(CameraUpdate更新)重新定位相机 根据更新中定义的说明。此举是 瞬间,随后的getCameraPosition()将反映 新的位置。有关一组更新,请参见CameraUpdateFactory。
参数更新应应用于相机的更改。