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)什么也不做。该代码仍然绘制路线,但我看不到界限相关的功能在做什么。我已经为所有与缩放相关的行添加了//界限 - 目前,它们对代码的输出没有任何可见的影响。任何人都知道我要去哪里错了?
如果directions服务的preserveViewport
选项设置为false,则每次调用DirectionsRenderer都会缩放地图并将其放在结果中心。如果您想让fitBounds覆盖它,您需要将其设置为true。
那怎么样。我一直无视这条线。尽管如此,即使我将其设置为true,它仍然不起作用。 – ninjachicken1
你能提供足够的代码来重现问题吗?或者一个jsfiddle呢? – geocodezip
我不认为我可以,因为它需要数据库后端的数组。 – ninjachicken1
为什么你将preserveViewport设置为false? – geocodezip
该代码最初由其他开发人员制作 – ninjachicken1
如果您正在维护它,您需要了解它。 – geocodezip