【问题标题】:Adjust center map to the fragment width将中心贴图调整为片段宽度
【发布时间】:2015-04-15 07:37:50
【问题描述】:

在我正在开发的一个应用程序中,我必须在我得到的片段的 onCreateView 中显示一个小地图(以像素为单位,它将是 250x250 或类似的东西),中心作为用户先前选择的坐标新的 Lat 和 Lng 和我在这一点设置了相机和标记,但地图视图没有居中,因为如果我将地图稍微向左拖动,我可以显示标记,放置在正确的位置。

如何根据片段的宽度和高度将地图居中到新的 Lat 和 Lng?

这是我用来使地图居中的代码,在较大的视图中,地图中心是正确的,但在较小的视图中,中心会稍微向右移动。

mapa.moveCamera(CameraUpdateFactory.newLatLngZoom(posMap, 11));

【问题讨论】:

    标签: android google-maps android-fragments


    【解决方案1】:

    也许只是将地图居中标记?像这样:

     map.setOnMapLoadedCallback(new GoogleMap.OnMapLoadedCallback() {
                    @Override
                    public void onMapLoaded() {
                        map.addMarker(new MarkerOptions().position(new LatLng(lat, lng)).title(markerTitle));
                        map.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lat, lng), 14));
                        map.setMyLocationEnabled(true);
                    }
                });
    

    其中 latlng 分别是标记纬度和经度的双精度值。

    【讨论】:

    • 不,它和我的代码一样。稍微向右移动了一点。
    • 可以发截图吗?也许您在地图上有某种叠加层,使其一部分不可见?我们曾经在我们的一个应用程序中遇到过类似的情况(基本上地图在扩展面板中),我们正在自己调整相机的偏移量。
    • 没关系,我发现了问题所在,片段没有在 LinearLayout 中正确设置,因此向 FrameLayout 添加适当的宽度、高度和重量可以解决问题。还是谢谢!
    猜你喜欢
    • 2012-10-29
    • 2019-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-29
    • 1970-01-01
    • 1970-01-01
    • 2011-03-24
    相关资源
    最近更新 更多