Android缩放地图在特定位置

时间:2015-05-25 14:37:21

标签: android google-maps

到目前为止,我正在使用移动设备上的谷歌地图测试我的地图应用。

因为我想从我添加此代码的特定位置开始:

    @Override
    public void onMapReady(GoogleMap gMap) {
    googleMap = gMap;
    gMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);

    CameraUpdate center =
            CameraUpdateFactory.newLatLng(SKG_VIEW);
    CameraUpdate zoom = CameraUpdateFactory.zoomTo(11);

    gMap.moveCamera(center);
    gMap.animateCamera(zoom);

其中SKG_VIEW是我在代码中定义的LatLng。

当我在平板电脑上测试相同的代码时,中心远离我定义的那个。

我可以做些什么来解决这个问题?我甚至不理解这个问题的根源。

1 个答案:

答案 0 :(得分:1)

将相机移动到特定位置并按顺序更改缩放在某些设备上不起作用,并且不是正确的方法。

这样做的正确方法是使用CameraPosition创建CameraPosition.Builder,在Buider上设置位置和缩放级别(以及方位和倾斜......),然后构建它(见read the documentation)。

在您的情况下,您可以这样做:

CameraPosition cameraPosition = new CameraPosition.Builder()
    .target(SKG_VIEW)
    .zoom(11)
    .build();
gMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));