Google maps V3控制地图的缩放和显示范围

本文介绍了如何使用Google Maps V3 API来控制地图的缩放级别和显示范围。通过设定最小和最大ZoomLevel,并监听缩放级别变化,确保地图始终在指定区域内展示。

【熊猫大叔   转载请注明出处:http://blog.youkuaiyun.com/pandaflyup

1、控制地图的缩放范围:

实现起来很简单,设置一个最低和最高的缩放级别ZoomLevel,再添加一个监听缩放级别变化的事件即可,代码如下:

function initialize() {
        var MinZoomLevel=16;
        var myLatlng = new google.maps.LatLng(39.9629, 116.3581);
        var myOptions = {
            zoom: MinZoomLevel,
            center: myLatlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        }
        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
        //控制地图的缩放级别
        google.maps.event.addListener(map, 'zoom_changed',function() {
            if (map.getZoom() < MinZoomLevel) map.setZoom(MinZoomLevel);
         });
}
2、控制地图的显示范围:

通过划定一个界限,可以使地图只在划定的范围内显示,由于实现起来比较简单,就直接上代码了:

var strictBounds = new google.maps.LatLngBounds(
    new google.maps.LatLng(14.48003790418668, 66.28120434863283),
    new google.maps.LatLng(54.44617552862156, 143.71284497363283)
);
google.maps.event.addListener(map, 'dragend',
function() {
    if (strictBounds.contains(map.getCenter())) return;
    var c = map.getCenter(),
    x = c.lng(),
    y = c.lat(),
    maxX = strictBounds.getNorthEast().lng(),
    maxY = strictBounds.getNorthEast().lat(),
    minX = strictBounds.getSouthWest().lng(),
    minY = strictBounds.getSouthWest().lat();
    if (x < minX) x = minX;
    if (x > maxX) x = maxX;
    if (y < minY) y = minY;
    if (y > maxY) y = maxY;
    map.setCenter(new google.maps.LatLng(y, x));
});



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值