Google Map V3多Marker时自动缩放

主要使用了new google.maps.LatLngBounds()
<style>
      html, body, #map-canvas {
        height: 87%;
        margin: 0px;
        padding: 0px
      }
</style>

 

<script src="http://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>


<script>

var map;
var markers = [];
var defaultZoom = 9
function initialize() {
  var mapOptions = {
    center: new google.maps.LatLng(39.90403, 116.407526),
    zoom: defaultZoom
  };
  map = new google.maps.Map(document.getElementById('map-canvas'),
      mapOptions);
  //设置地图缩放
  var i=markers.length;
    var bounds = new google.maps.LatLngBounds();
    while(i--){
        bounds.extend(new   google.maps.LatLng(markers[i].getPosition().lat()
                ,markers[i].getPosition().lng()));
    }
    map.fitBounds(bounds);

  //地图缩放时触发,当地图的缩放比例大于默认比例时,恢复为默认比例
  google.maps.event.addListener(map, 'zoom_changed', function () {
      if (map.getZoom() > defaultZoom){
          map.setZoom(defaultZoom);
      }
  });
}
// Show the new coordinates for the rectangle in an info window.

function addMarker(location) {
  var marker = new google.maps.Marker({
    position: location,
    map: map
  });
  markers.push(marker);
}
// Sets the map on all markers in the array.
function setAllMap(map) {
  for (var i = 0; i < markers.length; i++) {
    markers[i].setMap(map);
  }
}

// Removes the markers from the map, but keeps them in the array.
function clearMarkers() {
  setAllMap(null);
}

// Shows any markers currently in the array.
function showMarkers() {
  setAllMap(map);
}

// Deletes all markers in the array by removing references to them.
function deleteMarkers() {
  clearMarkers();
  markers = [];
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>

转载于:https://my.oschina.net/u/3773546/blog/1612954

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值