谷歌地图JavaScript API捏缩放事件
Google Maps JavaScript API Pinch to Zoom Event
是否有一种方法来跟踪缩放事件在谷歌地图API的JavaScript版本?我想做的是让用户放大2级而不是1级。
在桌面上使用这样的东西可以工作:
google.maps.event.addListener(map, 'zoom_changed', function () {
map.setZoom(map.getZoom() + 2);
});
但是使用zoom_changed
事件,当用户使用缩放手势时,你无法判断用户在移动设备上是放大还是缩小。
这里有一个工作示例
请插入您的APIKEY
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
html, body, #map-canvas { height: 100%; margin: 0; padding: 0;}
</style>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?key=APIKEY">
</script>
<script type="text/javascript">
var zoom = 0;
var map;
function initialize() {
var mapOptions = {
center: { lat: -34.397, lng: 150.644},
zoom: 8
};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
zoom = map.getZoom();
console.log("initial zoom: "+zoom);
google.maps.event.addListener(map, 'zoom_changed', function () {
console.log("zoom changed");
if(map.getZoom() > zoom){
console.log("zoomed IN");
}else if(map.getZoom() < zoom){
console.log("zoomed OUT");
}
zoom = map.getZoom();
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map-canvas"></div>
</body>
</html>
创建地图对象后,保存其当前缩放。然后在zoom_changed
监听器中,将存储值与当前地图缩放级别进行比较。
JSBin,示例:http://jsbin.com/befefax/edit?html,console,output(记得添加自己的APIKEY)
相关文章:
- 如何缩放地图框传单中的标记单击事件
- 使用缩放脚本化事件绘制 HTML 图表
- 使用缩放javascript触发谷歌地图点击事件
- 谷歌地图API v3:缩放更改后是否有回调或事件侦听器
- 缩放更改了诺基亚此处地图的事件
- 缩放事件侦听器之前的 Javascript OpenLayers
- 像谷歌新闻一样的缩放事件
- 在 d3.js 中传播缩放事件
- 谷歌地图缩放事件
- 缩放事件传播未停止
- 如何在高图中缩放缩放事件的svg路径
- 在聚合物谷歌地图中缩放事件
- Openlayers-3:如何将缩放事件绑定到控件或文档
- 谷歌地图JavaScript API捏缩放事件
- 我们是否有办法对用户缩放事件做出反应
- 根据缩放事件更改amChart Serial中的dataProvider
- 在现有SVG上应用缩放事件(d3.js v4)
- 防止缩放事件中的d3平移值移动超出界限
- event.prventDefault();之后在iOS Safari上手动缩放事件处理;
- 如何保持浏览器的缩放和使用hammer.js的缩放事件