在谷歌地图中调整高度



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

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标记它,但我想如果你知道这一点,你会问google.maps.event.trigger(X, Y)做了什么。另外,我不知道这与PHP文件中的div标记有什么关系。

谷歌地图API答案

在这里了解trigger的作用很简单:

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

(从谷歌地图API,我很快就找到了)

Javascript答案

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

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

&&是逻辑AND,具有短循环评估意味着:

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

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

此机制可用于(ab)更改流量控制。如果条件(&&的第一个参数)为false,则不会计算第二个参数,因此它与相同

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

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

最新更新