Javascript 在谷歌地图API V3中缩放到地图中心

Javascript 在谷歌地图API V3中缩放到地图中心,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我对使用谷歌地图还不熟悉,我正在尝试找出如何限制缩放功能,使其不会缩放地图中心以外的任何位置,也不会缩放到鼠标点。基本上,无论鼠标指针在地图上的什么位置,它都会缩放到返回地图的中心,而不是缩放鼠标指针在地图上的位置。我甚至不知道这是否是目前可能的,一些帮助将不胜感激 <script type="text/javascript"> function initialize() { var latlng = new google.maps.LatLng(51

我对使用谷歌地图还不熟悉,我正在尝试找出如何限制缩放功能,使其不会缩放地图中心以外的任何位置,也不会缩放到鼠标点。基本上,无论鼠标指针在地图上的什么位置,它都会缩放到返回地图的中心,而不是缩放鼠标指针在地图上的位置。我甚至不知道这是否是目前可能的,一些帮助将不胜感激

<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>

函数初始化(){
var latlng=新的google.maps.latlng(51.285583,1.091045);
变量myOptions={
缩放:15,
中心:拉特林,
滚轮:对,
导航控制:错误,
mapTypeControl:false,
scaleControl:false,
可拖动:错误,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var map=new google.maps.map(document.getElementById(“map_canvas”),
肌肽);
var marker=new google.maps.marker({
位置:新google.maps.LatLng(51.285826,1.089973),
地图:地图,
标题:“普通的”,
可点击:正确
});
}

从我在代码中看到的内容来看,您正在放大上面声明的latlng变量。这是正确的。然后将myOptions变量传递到新的映射声明中。所以你应该关注51.285583,1.091045,这是英国的卡特伯里肯特

如果这是你的鼠标指向的地方,它正在工作,如果这没有帮助,我建议从谷歌的例子复制一个例子,删掉你不需要的第一个演示


有几种缩放类型:

  • 使用缩放控制-缩放到地图中心
  • 使用滚轮-在您抱怨时缩放到鼠标指针
  • 使用双击-首先将鼠标指针下的位置居中,然后缩放
因此,如果只需要第一种缩放类型,可以通过将disableDoubleClickZoom和scrollwheel map options设置为false来禁用其他两种缩放类型


此外,您可能会处理dblclick映射事件(滚轮事件不是那么简单,但您可能也会找到一种方法),在这个处理程序中,只需使用
map.setZoom()
更改映射比例即可。地图中心将保持不变。相当简单。

或者通过在缩放更改时重新将地图居中来处理此问题。这将保留双击和滚轮的预期功能

google.maps.event.addListener(map,'zoom_changed',function () {
  map.setCenter(new google.maps.LatLng(47.61388802057299,-122.31870898147581));
})

请看一看:这不是一个好的解决方案,因为地图移动到缩放点然后返回到想要的中心的视觉效果是绝对错误的!