javascript - 谷歌地图 - 缩放时保持居中

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

在 Google map 中,我希望在放大或缩小时能够将 map 中心保持在我所在位置的标记上。这是 Ingress 所做的事情,无论您在哪里双击(或双击)或在哪里捏合, map 都会保持在您的标记的中心。所以有可能...

我现在想到的最好的是:

google.maps.event.addListener(mymap, 'zoom_changed', function() {
    mymap.setCenter({lat: myLoc.lat, lng: myLoc.lon});
})

但它远非完美,它只是在用户已经缩放后重新居中 map ...

非常感谢!

[编辑] 在 API 引用中绝对没有任何帮助......或者在其他地方我失明并错过了它!

最佳答案

纯粹使用Javascript

  • 首先,通过scrollwheel=false
  • 禁用谷歌地图默认的滚动缩放功能
  • 接下来通过捕获鼠标事件并为谷歌地图设置缩放级别来创建自定义滚动缩放功能

检查我的示例代码:Fiddle URL:https://jsfiddle.net/vh3gqop0/17/

var map, i = 12;
function initialize() {
		var myLatlng = new google.maps.LatLng(46.769603, 23.589957);
		var mapOptions = {
			center: myLatlng,
			zoom: i,
			scrollwheel: false,
  		disableDoubleClickZoom: true,
			mapTypeId: google.maps.MapTypeId.ROADMAP
		};
		map = new google.maps.Map(document.getElementById("map_canvas"),
			mapOptions);

		var marker = new google.maps.Marker({
			position: myLatlng,
			map: map,
			title: 'Any Title'
		});


	}

google.maps.event.addDomListener(window, 'load', initialize);

$( document ).ready(function() {
    $('#map_canvas').on("wheel", function(evt){
   // console.log(evt.originalEvent.deltaY);
    		if(evt.originalEvent.deltaY > 0){
        	map.setZoom(++i);
        }else {
        	map.setZoom(--i);
        }
    		
    });
});
#map_canvas{
    height:400px;
    width:100%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<div id="map_canvas"></div>

关于javascript - 谷歌地图 - 缩放时保持居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27094908/

相关文章:

javascript - 如何使用 JQuery 切换和 AJAX 调用 PHP 脚本?

javascript - Dart-JS 互操作 : JS object not loading when running in Dartium

javascript - 我想安装 Angular 6 而不是 Angular 8。我该怎么办?

javascript - 如何将 InstancedBufferGeometry 与 Threejs 一起使用

google-maps - 是否可以自定义 Google map 的配色方案?

android - 如何绘制从我所在位置到目的地位置的路线?

html - 如何从 Google Developers 教程向我的 Google map 添加图钉

java - 计算相同起点和终点之间的距离

javascript - 自定义谷歌地图无法正确渲染,分辨率不佳

javascript - 位置基于 Google Place Service 附近搜索结果的正确 map 中心