我是新手使用谷歌地图,我试图找出如何限制缩放功能,以便它不会缩放除地图中心以外的任何地方,而不是缩放到鼠标点。基本上,无论鼠标指针在地图上的哪个位置,它都会缩放到返回地图的中心,而不是缩放鼠标指针在地图上的位置。我甚至不知道目前是否可能,我们将不胜感激。
<script type="text/javascript">
function initialize() {
var latlng = new google.maps.LatLng(51.285583, 1.091045);
var myOptions = {
zoom: 15,
center: latlng,
scrollwheel: true,
navigationControl: false,
mapTypeControl: false,
scaleControl: false,
draggable: false,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
var marker = new google.maps.Marker({
position: new google.maps.LatLng(51.285826, 1.089973),
map: map,
title: 'Run of The Mill',
clickable: true
});
}
</script>
答案 0 :(得分:5)
有几种缩放类型:
因此,如果您只想要第一个缩放类型,可以通过将disableDoubleClickZoom和scrollwheel map选项设置为false来禁用其他两个缩放类型。
此外,你可以处理dblclick map事件(滚轮事件不是那么简单,但也许你会找到一种方法how to handle the scroll wheel in javascript)并且在这个处理程序中只需使用map.setZoom()
更改地图比例。地图中心将保持不变。相当容易。
答案 1 :(得分:2)
或者通过在缩放变化时重新定位地图来处理此问题。这样可以在双击和滚轮上保留预期的功能。
google.maps.event.addListener(map,'zoom_changed',function () {
map.setCenter(new google.maps.LatLng(47.61388802057299,-122.31870898147581));
})
答案 2 :(得分:0)
从我在代码中看到的内容,您可以放大上面声明的latlng变量。那是正确的。然后,myOptions变量将传递到新的map声明中。所以你应该集中在51.285583,1.091045,这是英国的Caterbury Kent。
如果这是你的鼠标指向的位置它正在工作,如果这没有帮助我建议从谷歌示例复制一个例子,并删除你的第一个演示不需要的。
http://code.google.com/apis/maps/documentation/javascript/examples/index.html