【问题标题】:Center android google map on group of markers?在一组标记上居中 android 谷歌地图?
【发布时间】:2016-08-29 06:08:09
【问题描述】:

我有一堆标记,我可以在其中加载到谷歌地图上。我的问题是,相机不在标记之上。我可以把它放在我所有的标记之上吗?

我正在用这段代码添加我的标记:

for(int i = 0; i < jsonArray.length(); i++) {

                String breweryName = jsonArray.getJSONObject(i).getString("brewery");
                String lat = jsonArray.getJSONObject(i).getString("lat");
                String lng = jsonArray.getJSONObject(i).getString("lng");
                String bID = jsonArray.getJSONObject(i).getString("breweryID");

                double latD = Double.parseDouble(lat);
                double lngD = Double.parseDouble(lng);



                m.addMarker(new MarkerOptions()
                        .position(new LatLng(latD, lngD))
                        .title(breweryName));


            }

我在stack上看了一下,发现了这个问题,和我的一样:

Android Google maps API V2 center markers

但它背后没有太多的上下文,我不知道如何实现它。

【问题讨论】:

  • 看到这个linkmike...
  • 或者试试这个link@Mike

标签: android google-maps


【解决方案1】:

您可以在特定范围内为您的相机设置动画。假设您有一个标记的 ArrayList,例如(这也可以是 LatLngs、双精度数、任何包含标记的纬度/经度的列表)

List<MarkerOptions> markers = new ArrayList<MarkerOptions>();

然后,您可以通过执行以下操作确保它们在您的地图上都可见

LatLngBounds.Builder builder = new LatLngBounds.Builder();
LatLng position;
for(int i = 0; i < markers.size(); i++){
    position = markers.get(i).getPosition();
    builder.include(new LatLng(position.latitude, position.longitude));
}
LatLngBounds bounds = builder.build();
map.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 15));

【讨论】:

    猜你喜欢
    • 2012-06-29
    • 2012-09-05
    • 1970-01-01
    • 2018-05-10
    • 2018-06-12
    • 1970-01-01
    • 2016-06-28
    • 1970-01-01
    相关资源
    最近更新 更多