【问题标题】:Google Maps v2 Set Zoom LevelGoogle Maps v2 设置缩放级别
【发布时间】: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));

【问题讨论】:

    标签: android zooming google-maps-api-2


    【解决方案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。我希望这会有所帮助。
    • 您知道如何设置缩放以显示整个世界吗?像这样的东西:stackoverflow.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);
            }
        

        【讨论】:

          猜你喜欢
          • 2012-12-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-01-15
          • 1970-01-01
          • 2012-12-18
          • 1970-01-01
          • 2011-03-15
          相关资源
          最近更新 更多