Google Marker上的缩放设置

时间:2012-06-09 13:16:01

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

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

我使用this页面允许用户查看保存在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);

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

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

POST UPDATE

我已经使用exisitng代码和@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);

1 个答案:

答案 0 :(得分:1)

删除对bounds

的引用

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

但是,将zoom添加到标记选项也不起作用,因为zoom不是有效选项。 Documentation

相反,请在设置时使用map.setZoom(8)或在地图的选项中添加zoom选项,明确设置地图的缩放。