Google Map API v3 - 标记中心地图

时间:2012-05-24 11:31:52

标签: javascript google-maps google-maps-api-3 maps

我最近开始使用Google Maps API v3。

我需要绘制一些位置(可能是3或4)并同时将地图置于这些点的中心 - 而不是手动设置地图的长和纬度为中心...

有人可以分享一些提示,还是指向正确的方向?

提前致谢! 丹

function initialize() {
      var latlng = new google.maps.LatLng(51.50816, 0.02712);
      var myOptions = {
        zoom: 12,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
      };
      var firstmap = new google.maps.Map(document.getElementById("map"),myOptions);
      //EVENT MARKER
      var point = new google.maps.LatLng(51.50816, 0.02712);
      var marker = new google.maps.Marker({
        position:point,
        map:firstmap,
        title: 'ExCel London',
        draggable:false,
        icon:'images/event.png'
      })
      var contentstring = '<div>Hello World</div>'
      var infoWindow = new google.maps.InfoWindow({
        content:contentstring
      });
      //HOTEL 1 MARKER
      var point = new google.maps.LatLng(51.503146, -0.113259);
      var marker = new google.maps.Marker({
        position:point,
        map:firstmap,
        title: 'Waterloo Hotel',
        draggable:false,
        icon:'images/flag.png'
      })
      var contentstring = '<div>Hello World</div>';
      var infoWindow = new google.maps.InfoWindow({
          content:contentstring
      });
      google.maps.event.addListener(marker,'click',function(){
          infoWindow.open(firstmap,marker);
      })
    };

1 个答案:

答案 0 :(得分:9)

您需要将标记保存在阵列上,然后使用功能中心:

function autoCenter(){
    var limits = new google.maps.LatLngBounds();
    $.each(arrayMarkers, function (index, marker){
        limits.extend(marker.position);
    });
    map.fitBounds(limits);
}