【发布时间】:2014-01-01 13:02:38
【问题描述】:
我在搜索中没有找到答案,有一些关于 SO 的答案,但它们对我不起作用。
我在地图上有 2 个标记,我正在使用 LatLngBounds 构建器,以便让相机缩放到正确的缩放级别以包含它们。除了一件事之外,一切都按预期工作,当 2 个标记彼此非常接近时,地图非常非常缩放,而且,这种缩放级别没有任何意义。
LatLngBounds.Builder builder = new LatLngBounds.Builder();
builder.include(firstMarker.getPosition());
builder.include(secondMarker.getPosition());
LatLngBounds bounds = builder.build();
CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, markerPadding);
有没有办法强制一定程度的变焦,之后相机就不会变焦?这将避免地图过于放大/缩小。基本上我使用 15.0f 作为缩放级别。如果这些点太远,我希望缩放适合它们。如果点越来越近,我不希望缩放级别超过 15.0f。
【问题讨论】:
-
最后我采用了stackoverflow.com/questions/15700808/… 的方法,而且效果很好
-
Alin,我下面的建议与您所指的答案相似,但有一个主要区别:相同的经度差异转化为非常不同的距离(以公里为单位),具体取决于测量的纬度。使用我的方法,您没有这种变化。最小缩放级别将始终由以公里为单位测量的相同地图对角线定义,与您在赤道或两极上显示标记无关(好吧,我知道,您无法在 Google 地图中真正显示两极)。
-
你能在你的答案中添加代码示例以便我接受吗?
-
好的,我已经添加了一个例子。
标签: android android-maps-v2 zooming