2012-04-27 66 views
1

我一直在Google中搜索今天的大部分内容,试图弄清楚这一点 - 我的JavaScript技巧是非常基本的,所以很抱歉,如果这可以轻松排序。我正在使用Google Maps API v3使用超链接控制Google地图缩放级别

我想要做的是用超链接控制Google Map的缩放级别。例如,我想要三个定义的等级(在英国,欧洲的英国,世界的欧洲)。点击这些链接将显示具有不同缩放级别的地图。

这可以轻松实现吗?

感谢 达伦

+0

你也想改变地图的中心点吗?同一时间?看起来你可能想要集中在英国的第一个缩放级别的位置,以整个英国为中心的第二个缩放级别,以欧洲为中心的第三个缩放级别。 – 2012-04-28 16:07:34

回答

5

这不应该是太困难的事。

当您创建地图时,您将获得对地图对象的引用,例如,

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); 
} 
+0

太好了,谢谢你。我想通了,但忘了发布我的解决方案 - 非常类似于这个!再次感谢! – 2012-05-16 23:41:16

相关问题