如果只有1个标记,Google地图会设置缩放

时间:2017-04-17 09:01:35

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

我有一个脚本从对象获取地图标记,然后将标记适合边界。除了当对象只包含1个标记时,它会向远处缩放。关于我如何设置这个的任何建议,以便如果只有标记设置缩放到" x&#34 ;;

var results = [
      ['<!-- TMPL_VAR street_no --> <!-- TMPL_VAR street --> <!-- TMPL_VAR city -->, <!-- TMPL_VAR state --> <!-- TMPL_VAR zip -->',<!-- TMPL_VAR latitude -->,<!-- TMPL_VAR longitude -->]
  ];
var map;
function initMap() {
  bounds  = new google.maps.LatLngBounds();
  map = new google.maps.Map(document.getElementById('map-canvas'), {
  });
  setMarkers(map);
}
function setMarkers(map) {
  var bounds = new google.maps.LatLngBounds();
  for (var i = 0; i < results.length; i++) {
    result = results[i];
    position = new google.maps.LatLng(result[1], result[2]);
    marker = new google.maps.Marker({
      position: {lat: result[1], lng: result[2]},
      map: map,
      title: result[0]
    });
    bounds.extend(position)
  }
  map.fitBounds(bounds);
}

1 个答案:

答案 0 :(得分:2)

您的.fitBound阻止了绑定,您可以通过使用标记长度检查并将代码更改为

来尝试此操作
if(results.length == 1) {    
      map.setZoom(5);
      map.setCenter(position)
   }



if(results.length > 1){
    map.fitBounds(bounds);
  }

所以现在如果有一个标记地图中心并设置缩放而不是边界,而在多个标记边界的情况下使用忽略缩放和中心

请参阅此CODEPEN