【问题标题】:Android - GoogleMapAPI v2 marker icons out of boundsAndroid - GoogleMapAPI v2 标记图标越界
【发布时间】:2014-08-26 22:40:10
【问题描述】:

实际上,我正在使用 Google Map APIv2 开发一个 android 应用程序,到目前为止,我正在尝试在地图上显示一些标记,我还希望将所有标记都放在我的相机视图中,为此我m 使用

    LatLngBounds.Builder builder = new LatLngBounds.Builder();
    LatLngBounds bounds;
    int padding = 0;
    //markMap is a hashmap populated with my markers positions.
    HashMap<String, LatLng> markMap = new HashMap<String, LatLng>();


    for (Entry<String, LatLng> entry : markMap.entrySet()) 
            {                                                           
                map.addMarker(new MarkerOptions().position(entry.getValue()));
                builder.include(entry.getValue());                                      
            }

            bounds = builder.build();
            CameraUpdate update = CameraUpdateFactory.newLatLngBounds(bounds, padding);
            map.animateCamera(update);

这很好用,但只有一个问题,那就是:我当前的相机缩放级别仅包括标记点,但标记图标本身通常完全或部分超出范围。

关于我应该怎么做的任何建议,我可以在我的相机视图中包含一个标记图标?

【问题讨论】:

    标签: android google-maps google-maps-markers


    【解决方案1】:

    为什么不添加一些填充:

    CameraUpdate update = CameraUpdateFactory.newLatLngBounds(bounds, 50);
    

    我不明白为什么 CameraUpdate 应该考虑标记本身的宽度。它包括坐标而不是标记本身。

    【讨论】:

    • 我之前尝试过这个选项,但不知何故我认为它不起作用,现在在解决方案如此简单的情况下花几分钟发布这个问题感觉很愚蠢,+1
    • @HossamOukli 很高兴你解决了。然后选择它作为正确答案。
    【解决方案2】:

    另一种选择可能是:

    CameraPosition cameraPosition = 
                    new CameraPosition.Builder().target(ll).zoom(16).build();
    map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
    

    你可以看到更多关于“相机位置”here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多