【问题标题】:Zooming to center on a map in Google Maps API V3在 Google Maps API V3 中缩放到地图中心
【发布时间】:2023-04-03 06:44:01
【问题描述】:

我是使用谷歌地图的新手,我正在尝试找出如何限制缩放功能,以便它不会缩放地图中心以外的任何地方,也不会缩放到鼠标点。基本上,无论您的鼠标指针在地图上的哪个位置,它都会缩放到返回地图的中心,而不是缩放鼠标指针在地图上的位置。我什至不知道目前这是否可能,我们将不胜感激。

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

【问题讨论】:

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


【解决方案1】:

有几种缩放类型:

  • 使用缩放控制 - 缩放到地图中心
  • 使用滚轮 - 在您抱怨时缩放到鼠标指针
  • 使用双击 - 首先将鼠标指针下方的位置居中,然后缩放

因此,如果您只想要第一种缩放类型,您可以通过将 disableDoubleClickZoom 和滚轮地图选项设置为 false 来禁用其他两种。

此外,您可能会处理 dblclick 地图事件(滚轮事件不是那么简单,但也许您也会找到方法how to handle the scroll wheel in javascript)并且在此处理程序中只需使用map.setZoom() 更改地图比例。地图中心将保持不变。相当容易。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 不是一个好的解决方案,因为地图移动到缩放点再回到想要的中心的视觉效果是绝对错误的!
    【解决方案3】:

    从我在您的代码中可以看到,您正在放大您在上面声明的 latlng 变量。那是正确的。然后将您的 myOptions 变量传递到您的新地图声明中。所以你应该以 51.285583, 1.091045 为中心,即英国的 Caterbury Kent。

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

    http://code.google.com/apis/maps/documentation/javascript/examples/index.html

    【讨论】:

      猜你喜欢
      • 2011-04-16
      • 2016-09-03
      • 1970-01-01
      • 1970-01-01
      • 2015-04-14
      • 1970-01-01
      • 1970-01-01
      • 2012-08-23
      • 2011-09-12
      相关资源
      最近更新 更多