【问题标题】:Resize height in Google Maps在谷歌地图中调整高度
【发布时间】:2012-09-21 02:17:45
【问题描述】:

我从 Google Map API 获得了一个用于调整高度“地图”的示例代码

 var recalcHeight = function() {
    $("#map").height($(window).height() - 100); //Example
    map && google.maps.event.trigger(map, 'resize'); //(*) Don't understand this line
}; 
$(window).resize(recalcHeight);
recalcHeight();

好的,在我的 php 文件中,我有一个 div 标签: 1. 上面这行 (*) 看不懂。

【问题讨论】:

    标签: javascript api google-maps


    【解决方案1】:

    我真的不知道你的问题是什么,因为你没有用 Javascript 标记它,但我想如果你知道这一点,你会问google.maps.event.trigger(X, Y) 做了什么。另外,我不知道这与 PHP 文件中的 div 标记有什么关系。

    Google Maps API 答案

    很容易找出trigger在这里做了什么:

    触发给定的事件。 eventName 之后的所有参数都作为参数传递给侦听器。

    (来自Google Maps API,我很快就找到了)

    Javascript 答案

    如果您的问题是关于整个 && 构造的,我会向您解释:

    map && google.maps.event.trigger(map, 'resize');
    

    && 是一个逻辑 ANDshort-cirquit 评估,这意味着:

    • 如果它的第一个参数是 true,它会计算第二个参数。 Iff 这也是 true,它返回 true

    • 如果它的第一个参数是false,整个表达式就不能变成true,所以它甚至不计算它的第二个参数 并立即返回 false

    这种机制可以(ab)用于改变流量控制。如果条件(&& 的第一个参数)为 false,则第二个参数不会被计算,所以它与

    if (map) {
        google.maps.event.trigger(map, 'resize');
    }
    

    我不知道map是如何初始化的,但也许只有在有map元素的情况下才会添加事件触发器。

    【讨论】:

    • 没问题!如果它有帮助,您可能想通过投票和/或接受我的回答来表达您的喜悦。 :)
    • "&& 是一个逻辑 OR" - 我认为你的意思是逻辑 AND
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-09
    • 1970-01-01
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 2016-03-30
    • 2012-04-25
    相关资源
    最近更新 更多