gpt4 book ai didi

android - 为两个 LatLong 值计算 Google map 的缩放级别

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:53:26 25 4
gpt4 key购买 nike

我在 SherlockFragmentActivity 中使用 com.google.android.gms.maps.GoogleMap

XML 代码是这样的:

            <fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="fill_parent"
android:layout_height="150dip" />

int zoomLevel = ?//我如何计算两个不同经纬度值的缩放级别因为 android map v3 需要将缩放级别告知为 int

map.setZoom(zoomLevel);

我的起始值和目标值为 com.google.android.gms.maps.model.LatLng

LatLng 开始,结束;

我正在添加一个类似 GoogleLocation.addPolyLineOnGMap(mMap, startPoint, endPoint, startMarker, endMarker) 的 pligon

我的问题是如何计算 Google map 的缩放级别,以便它可以在 map 上正确显示这两个标记。

最佳答案

使用 LatLngBounds.Builder 在其中添加所有边界并构建它,然后创建 CameraUpdate 对象并将其中的边界传递给带有填充的 updatefactory。使用此 CameraUpdate 对象为 map 相机设置动画。

LatLngBounds.Builder builder = new LatLngBounds.Builder();
for (Marker m : markers) {
builder.include(m.getPosition());
}
LatLngBounds bounds = builder.build();
int padding = ((width * 10) / 100); // offset from edges of the map
// in pixels
CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds,
padding);
mMap.animateCamera(cu);

关于android - 为两个 LatLong 值计算 Google map 的缩放级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18662852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com