gpt4 book ai didi

java - Android 谷歌地图 API V2 中心标记

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

有没有一种方法可以使 map 尽可能放大,但同时将所有标记保留在屏幕上。我有六个形状不统一的标记。我正在考虑以他们的中心为中心并将 map 定位到该中心,但我仍然不知道我可以通过编程将 map 放大多远。

每次创建 map 时,这些标记都会更改位置。理想情况下,我会有一个脚本来放大 map ,以便所有内容都包含在 View 中。

所以你明白了。我在循环中使用以下行从 json 一次创建一个标记。

mMap.addMarker(new MarkerOptions().position(new LatLng(lat,lng)).title(c.getString("title")));

最佳答案

您应该使用 CameraUpdate 类来执行(可能)所有程序化 map 移动。

为此,首先像这样计算所有标记的边界:

LatLngBounds.Builder builder = new LatLngBounds.Builder();
for each (Marker m : markers) {
builder.include(m.getPosition());
}

LatLngBounds bounds = builder.build();

然后通过工厂CameraUpdateFactory获取一个运动描述对象:

int padding = 0; // offset from edges of the map in pixels
CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, padding);

最后移动 map :

googleMap.moveCamera(cu);

或者如果你想要一个动画:

googleMap.animateCamera(cu);

*来自另一篇文章:Android map v2 zoom to show all the markers

关于java - Android 谷歌地图 API V2 中心标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17613940/

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