map.fitbounds没有做任何事情

问题描述:

我有一个脚本,它从html获取数据并使用它在地图上绘制路线。我试图让它采取所有的路线,并放大显示所有的人。代码如下:map.fitbounds没有做任何事情

var ombounds = new google.maps.LatLngBounds(); //bounds 
    for (var r=1; $("#master-master > div").length; r++) 
    { 
     // Add a placemark at the start of each route 
     var placemark_id = "#master-" + r + " > #placemarks-data > #placemark-0"; 

     var markerParameters = {}; 
     markerParameters.index = r-1; 
     markerParameters.total = $(placemark_id + " > .total").html(); 
     markerParameters.mapData = $(placemark_id + " > .map").html(); 
     markerParameters.instructionsData = $("#master-" + r + " > #snippet").html(); 
     markerParameters.distanceData = $("#master-" + r + " > #distance").html(); 
     markerParameters.durationData = $("#master-" + r + " > #duration").html(); 
     markerParameters.titleData = $("#master-" + r + " > #title").html(); 
     markerParameters.urltitleData = $("#master-" + r + " > #url-title").html(); 
     markerParameters.imageData = $(placemark_id + " > .image").html(); 

     $.OverMap.addMarker(markerParameters); 

     // Draw route 
     var points = new Array(); 
     var pointsData = []; 
     var pointsData = $('#master-' + r + ' > #route-data').html(); 
     if (pointsData != '') 
     { 
      var pointsArray = JSON.parse(pointsData); 
      for (var p=0; p<pointsArray.length; p++) { 
       var pt = new google.maps.LatLng(pointsArray[p][0], pointsArray[p][1]); 
       points.push(pt); 
       ombounds.extend(pt); //bounds 
      } 
      $.OverMap.drawRoute(points); 

     } 
     else $.OverMap.drawDirections({preserveViewport:false}); 
    } 
    (map.getBounds()); //bounds 
    map.fitBounds(ombounds); //bounds 

由于某些原因,map.fitBounds(ombounds)什么也不做。该代码仍然绘制路线,但我看不到界限相关的功能在做什么。我已经为所有与缩放相关的行添加了//界限 - 目前,它们对代码的输出没有任何可见的影响。任何人都知道我要去哪里错了?

+0

为什么你将preserveViewport设置为false? – geocodezip

+0

该代码最初由其他开发人员制作 – ninjachicken1

+0

如果您正在维护它,您需要了解它。 – geocodezip

如果directions服务的preserveViewport选项设置为false,则每次调用DirectionsRenderer都会缩放地图并将其放在结果中心。如果您想让fitBounds覆盖它,您需要将其设置为true。

+0

那怎么样。我一直无视这条线。尽管如此,即使我将其设置为true,它仍然不起作用。 – ninjachicken1

+0

你能提供足够的代码来重现问题吗?或者一个jsfiddle呢? – geocodezip

+0

我不认为我可以,因为它需要数据库后端的数组。 – ninjachicken1