0

我想知道是否有人可以帮助我。

我正在使用页面来允许用户查看保存在 MySQL 数据库中的标记并对新的标记位置进行地理编码/反向地理编码。

我能够正确地将地图放在从数据库加载的标记上,但我遇到的问题是地图放大到它的最大设置,而我希望能够手动设置它。

我尝试在我的脚本中添加另一个缩放控件:

// add marker
var bounds = new google.maps.LatLngBounds(); 
var loc = new google.maps.LatLng(las[i],lgs[i]);
var marker = new google.maps.Marker({
position: loc, 
map: window.map,
zoom: 8,
title: nms[i]
});
bounds.extend(loc);
map.fitBounds(bounds);

不幸的是,这没有影响。我很感激对某些人来说这可能是一个非常小的修复,但我已经研究了一段时间,但我似乎无法找到解决方案。

我只是想知道是否有人可以看看这个并让我知道我哪里出错了?

发布更新

我已经使用现有代码和@Andrew Leach 建议的解决方案制定了解决方案。工作解决方案是:

// add marker
var bounds = new google.maps.LatLngBounds(); 

var loc = new google.maps.LatLng(las[i],lgs[i]);
var marker = new google.maps.Marker({
position: loc, 
map: window.map,            
title: nms[i]
});
bounds.extend(loc);
map.fitBounds(bounds);
map.setZoom(16);
4

1 回答 1

1

删除对bounds.

您向地图添加一个标记,并创建一个LatLngBounds包含该点的对象。然后,您要求地图放大以使边界适合地图的视口。将单个位置拟合到视口中将始终尽可能放大,即使这样,单个点也永远无法填满整个视口。

但是,添加zoom到标记选项也不起作用,因为zoom它不是一个有效的选项。文档

相反,请在设置地图时使用map.setZoom(8)或通过在地图zoom选项中包含该选项来明确设置地图的缩放比例。

于 2012-06-09T13:35:25.250 回答