我一直在Google中搜索今天的大部分内容,试图弄清楚这一点 - 我的JavaScript技巧是非常基本的,所以很抱歉,如果这可以轻松排序。我正在使用Google Maps API v3使用超链接控制Google地图缩放级别
我想要做的是用超链接控制Google Map的缩放级别。例如,我想要三个定义的等级(在英国,欧洲的英国,世界的欧洲)。点击这些链接将显示具有不同缩放级别的地图。
这可以轻松实现吗?
感谢 达伦
我一直在Google中搜索今天的大部分内容,试图弄清楚这一点 - 我的JavaScript技巧是非常基本的,所以很抱歉,如果这可以轻松排序。我正在使用Google Maps API v3使用超链接控制Google地图缩放级别
我想要做的是用超链接控制Google Map的缩放级别。例如,我想要三个定义的等级(在英国,欧洲的英国,世界的欧洲)。点击这些链接将显示具有不同缩放级别的地图。
这可以轻松实现吗?
感谢 达伦
这不应该是太困难的事。
当您创建地图时,您将获得对地图对象的引用,例如,
var mapOptions = {mapTypeId: google.maps.MapTypeId.TERRAIN};
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
一旦有了对象,你可以放大到一个特定的水平是这样的:
function zoomToLevel() {
map.setZoom(8);
}
所以你只需要设置超链接来运行JavaScript函数的单击事件:
<a href="#" onclick="zoomToLevel(); return false;">Zoom to level 8</a>
对于你正在做的事情来说,最好是让地图根据区域选择它自己的缩放级别。这个功能实际上是放大显示比利牛斯山脉,但是这个想法可以用于任何地区,只要你的点位于对角线上:
function zoomPyrenees() {
var startPoint;
var endPoint;
var boundsPyrenees;
startPoint = new google.maps.LatLng(43.373403, -1.774107);
endPoint = new google.maps.LatLng(42.482463, 3.129875);
boundsPyrenees = new google.maps.LatLngBounds();
boundsPyrenees.extend(startPoint);
boundsPyrenees.extend(endPoint);
map.fitBounds(boundsPyrenees);
}
太好了,谢谢你。我想通了,但忘了发布我的解决方案 - 非常类似于这个!再次感谢! – 2012-05-16 23:41:16
你也想改变地图的中心点吗?同一时间?看起来你可能想要集中在英国的第一个缩放级别的位置,以整个英国为中心的第二个缩放级别,以欧洲为中心的第三个缩放级别。 – 2012-04-28 16:07:34