Google Maps v2 设置缩放级别

Posted

技术标签:

【中文标题】Google Maps v2 设置缩放级别【英文标题】:Google Maps v2 Set Zoom Level 【发布时间】:2013-06-04 14:11:10 【问题描述】:

当我在 android 中启动 Google 地图时,它会显示整个世界。我需要更改什么才能将缩放设置为标记?这是代码。谢谢

        googlemap.getUiSettings().setZoomControlsEnabled(true);
    googlemap.getUiSettings().setMyLocationButtonEnabled(true);


    LatLng cameraLatLng = sfLatLng;
    float cameraZoom = 17;


    if(savedInstanceState != null)
        mapType = savedInstanceState.getInt("map_type", GoogleMap.MAP_TYPE_NORMAL);

        double savedLat = savedInstanceState.getDouble("lat");
        double savedLng = savedInstanceState.getDouble("lng");
        cameraLatLng = new LatLng(savedLat, savedLng);

        cameraZoom = savedInstanceState.getFloat("zoom", 30);

        googlemap.setMapType(mapType);
        googlemap.animateCamera(CameraUpdateFactory.newLatLngZoom(cameraLatLng, cameraZoom));

【问题讨论】:

【参考方案1】:

试试这个---->

  map.addMarker(new MarkerOptions().position(latlng)).setVisible(true);

  // Move the camera instantly to location with a zoom of 15.
  map.moveCamera(CameraUpdateFactory.newLatLngZoom(latlng, 15));

  // Zoom in, animating the camera.
  map.animateCamera(CameraUpdateFactory.zoomTo(14), 2000, null);

【讨论】:

工作得很好。非常感谢 在使用 LatLngBounds 时如何做同样的事情(即设置缩放级别)? @AllTimeKing-Narendra 我不知道,但有人回答了here。我希望这会有所帮助。 您知道如何设置缩放以显示整个世界吗?像这样的东西:***.com/q/42329186/878126 ? @androiddeveloper Google Maps API,尝试将缩放级别设置为 1 以显示世界视图。【参考方案2】:
mMap.animateCamera(CameraUpdateFactory.zoomTo(19));

【讨论】:

【参考方案3】:

以下代码可以解决问题:

    function addMarker(lat, lng, info) 
    var pt = new google.maps.LatLng(lat, lng);
    bounds.extend(pt);

您也可以尝试以下方法:

    var pt = new google.maps.LatLng(lat, lng);
    map.setCenter(pt);
    map.setZoom(your desired zoom);

编辑:

 map.moveCamera( CameraUpdateFactory.newLatLngZoom(new LatLng(xxxx,xxxx) , 14.0f) );//where 14.0 is the zoom level

【讨论】:

设置的位置和setCenter一样,如果是这样,我已经这样做了,但是没有setZoom的属性...【参考方案4】:

如果你有一个地方(或边界),你可以放大到它。例如。使用 .newLatLngBounds() 方法放大到特定国家、城市或地址:

map.animateCamera(CameraUpdateFactory.newLatLngBounds(place.getViewport(), 10)); // 10 is padding

将自动选择缩放级别。它与位置搜索完美配合。

【讨论】:

【参考方案5】:
    private GoogleMap mMap;


   @Override
    public void onMapReady(GoogleMap googleMap) 
        mMap = googleMap;
        mMap.setMinZoomPreference(3.0f);
        mMap.setMaxZoomPreference(5.5f);
    

【讨论】:

以上是关于Google Maps v2 设置缩放级别的主要内容,如果未能解决你的问题,请参考以下文章

如何为 google_maps_flutter 设置缩放级别

Google Maps v3:强制执行最低要求。使用 fitBounds 时的缩放级别

Google Maps Android v2 中的集群标记

Google Maps API v3:如何将缩放级别和地图中心设置为用户提交的位置?

Google Maps API fitBounds 未正确设置缩放

如何为 google map api v2 设置默认位置和缩放级别?