首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >zoom_changed侦听器不适合我

zoom_changed侦听器不适合我
EN

Stack Overflow用户
提问于 2016-09-08 16:39:01
回答 2查看 89关注 0票数 0

我试图在谷歌地图中使用一个缩放侦听器事件,这样我就可以调整它中的某个轴的大小。首先,我尝试使用警报,这样我就可以看到侦听器是否检测到缩放级别的变化,但我根本无法获得任何警报。我的代码如下:

代码语言:javascript
复制
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps - pygmaps </title>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?libraries=visualization&sensor=true_or_false"></script>
<script type="text/javascript">
    var map;
    function initialize() {
        var centerlatlng = new google.maps.LatLng(49.801674, 11.188139);
        var myOptions = {
            zoom: 18,
            center: centerlatlng,
            scaleControl:true,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };

        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

*绘图*

代码语言:javascript
复制
google.maps.event.addDomListener(window, 'load',initialize);
google.maps.event.addDomListener(maps,'zoom_changed', function()
{
    alert("changed");
});

</script>
</head>
<body>

    <div style="text-align:center;">
        <button onclick="draw_axis()">Enable/Disable Axis</button> <br><br>    <div id="log"></div>  
    </div>
    <div id="map_canvas" style="width: 100%; height: 90%;"></div>
    </body>
    </html>

有人看到问题了吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-08 16:45:30

map变量不是在创建zoom_changed侦听器时定义的,而是在初始化函数运行时创建的(变量也是map而不是maps)。

代码片段:

代码语言:javascript
复制
var map;

function initialize() {
  var centerlatlng = new google.maps.LatLng(49.801674, 11.188139);
  var myOptions = {
    zoom: 18,
    center: centerlatlng,
    scaleControl: true,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };

  map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
  google.maps.event.addDomListener(map, 'zoom_changed', function() {
    alert("changed");
  });

}
google.maps.event.addDomListener(window, 'load', initialize);
代码语言:javascript
复制
html,
body,
#map_canvas {
  height: 100%;
  width: 100%;
  margin: 0px;
  padding: 0px
}
代码语言:javascript
复制
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk"></script>
<div style="text-align:center;">
  <div id="log"></div>
</div>
<div id="map_canvas" style="width: 100%; height: 90%;"></div>

票数 2
EN

Stack Overflow用户

发布于 2016-09-08 16:44:11

您需要在zoom_changed函数中对google.maps.Map实例设置initialize()事件。

代码语言:javascript
复制
map.addListener('zoom_changed', function() {
    alert("changed");
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39396226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档