使用jquery gmap3&设置最大缩放级别自动调整

时间:2011-08-15 14:21:22

标签: jquery google-maps google-maps-api-3 jquery-gmap3

我在gmap3插件上使用'autoFit',因此它可以缩放到地图上对象的最佳级别。问题是当只有一个物体放大到最大水平时太远了。我怎样才能让它变得比缩放等级14更进一步?

感谢。

3 个答案:

答案 0 :(得分:7)

您可以使用maxZoom,但这会设置地图的最大缩放而不是自动调整功能。这意味着如果用户愿意,用户将无法在地图上进一步缩放。

map:{
      center: true,
      zoom: 10,
      maxZoom: 18
    }

相反,我为每个点添加了一个隐藏的圆或半径,其大小可以使地图缩小到我想要的缩放级别。这样,如果用户想要,用户仍然可以进一步放大。

$('#test').gmap3(
    { 
        action: 'addMarker',
        latLng: "your data input for markers",
        map:{
            center: true,
            zoom: 10
        }
    },
    { 
        action: 'addCircle',
        latLng: "your data input for markers",
        options: {
            radius : 75,
            strokeOpacity: 0,
            fillOpacity: 0,
        }
    },
    'autofit'
);

答案 1 :(得分:4)

您可以将maxzoom属性添加到gmap3插件的地图属性中:

$('#test1').gmap3(
      {
        action: 'addInfoWindow',
        address: "some place name",
        map:{
          center: true,
          zoom: 5,
          maxZoom: 10
        },...

答案 2 :(得分:3)

这在gmap3版本5.1.1中似乎对我有用。只需使用自动调整:{maxZoom:14}。这告诉地图只能在自动调整时放大到第14级,并允许用户使用鼠标或缩放控件放大或缩小。

    $(function(){

    $("#test").gmap3();

    $('#test-ok').click(function(){
      var addr = $('#test-address').val();
      if ( !addr || !addr.length ) return;
      $("#test").gmap3({
        getlatlng:{
          address:  addr,
          callback: function(results){
            if ( !results ) return;
            $(this).gmap3({
              marker:{

                latLng:results[0].geometry.location,
                map:{

                  center: true,

                },

              },
              autofit:{maxZoom: 14},

            });

          }
        }
      });
    });

    $('#test-address').keypress(function(e){
      if (e.keyCode == 13){
        $('#test-ok').click();
      }
    });
  });