Google maps 如何在Google map Javascript V3中从Google map bubble中删除滚动条
我已经使用GoogleMapJavaScriptV3API来显示地图。但我有一个地图气泡的问题。当气泡中的信息超过特定高度时,将向气泡中插入滚动条 如何删除这些滚动条并根据其内容为气泡指定动态宽度和高度 或者,我如何设计自己的自定义气泡,使其根据内容的宽度和高度动态变化 提前谢谢。Google maps 如何在Google map Javascript V3中从Google map bubble中删除滚动条,google-maps,popup,height,Google Maps,Popup,Height,我已经使用GoogleMapJavaScriptV3API来显示地图。但我有一个地图气泡的问题。当气泡中的信息超过特定高度时,将向气泡中插入滚动条 如何删除这些滚动条并根据其内容为气泡指定动态宽度和高度 或者,我如何设计自己的自定义气泡,使其根据内容的宽度和高度动态变化 提前谢谢。 查看maxwidth如果您的信息窗口中像我一样有图像,请尝试在设置信息窗口内容的地方使用一些内联样式。我发现在img标签中添加display:block可以解决我的问题 在FF、IE9、Opera、Safari和Ch
查看maxwidth如果您的信息窗口中像我一样有图像,请尝试在设置信息窗口内容的地方使用一些内联样式。我发现在img标签中添加
display:block
可以解决我的问题
在FF、IE9、Opera、Safari和Chrome上测试
例如:
var html = "<img style=\"display:block;\" src=\""+image+"\"/>"
var html=“”
多亏了chromes element inspector,我可以看到您提供的信息窗口内容始终包装在。。。如果您有滚动高度,设置maxWidth似乎不会停止水平滚动条。我决定我需要破解父元素并关闭水平滚动,即overflow-x:hidden
在您提供的html中放置一个id标识符,并在infoWindow加载后(需要使用addListener)查找该元素(在这里使用jQuery)。从元素跳转到父元素,并将其overflow-x属性设置为hidden,然后删除水平滚动条
这当然是一个黑客行为——如果谷歌InfoWindowHTML代码发生变化,可能会停止工作——希望到时候也会有更好的解决方案
//assume you have a marker already called marker
google.maps.event.addListener(marker, 'click', function(){
var _info = new google.maps.InfoWindow({content: '<div id="infoWindow">content that is vertically large...</div>' });
google.maps.event.addListener(_info, 'domready', function(){
$(document).find('#infoWindow').parent().css('overflow-x', 'hidden' );
});
_info.open( map, marker );
} );
//假设您已经有一个名为marker的标记
google.maps.event.addListener(标记'click',函数(){
var_info=new google.maps.InfoWindow({content:'垂直大的内容…');
google.maps.event.addListener(_info,'domready',function(){
$(文档).find('#infoWindow').parent().css('overflow-x','hidden');
});
_信息打开(地图、标记);
} );
我发现firefox会重新计算元素的高度。例如:
infowindow.setContent(data);
infowindow.open(map, marker);
infowindow.close();
setTimeout(function (){
infowindow.open(map, marker);
}, 1);
我也遇到了同样的问题,但仅通过调整包装中的字体大小和行高就解决了问题。也有类似的问题-滚动条出现在带有文本内容的弹出窗口中,有时在再次关闭和打开弹出窗口后消失,如果我更改页面缩放级别,滚动条也会出现 他很有帮助。我添加了一些CSS字符串,解决了所有额外的滚动条问题:
.gm-style-iw {
overflow: hidden !important;
line-height: 1.35;
white-space: nowrap;
}
我想我可能已经找到了解决办法。在我的例子中,我设置字体大小的方式导致了这个问题。我认为API依赖于像素字体大小来设置初始宽度/高度(因为JavaScript启动太晚,无法计算相对宽度?这不是积极的) 无论如何,您需要在信息窗口中以像素(而不是相对单位)为单位指定字体大小,如: 一旦我将单位设置为像素,我还必须指定(以摆脱默认的宽度设置):
谷歌没有注意到API文档中的格式要求,所以这是一个非常“反复试验”的过程。我仍然觉得这个解决方案不是100%可靠。Daniel感谢您的帮助回复,我已经检查了maxwidth选项。这是好的包装内容和删除水平滚动。但是如何删除垂直滚动条?是否存在允许对气泡进行动态高度分配的属性?hm可能会有所帮助,你应该给信息窗口一个特定的高度。我也有同样的问题,但我尝试的方法似乎都不起作用(设置图像的宽度也可以,但这不是文本或其他内联内容的解决方案。我遇到了firefox特定的滚动问题。此代码修复了它。谢谢!在我的情况下,这似乎切断了信息窗口右侧的一些内容。这修复了firefox问题并删除了滚动条。我已经使用此代码6个月了它仍然很好:){+}作为一个»纯«JS解决方案,不需要额外的CSS…
.infowindow p {
font-size: 15px;
}
.gm-style-iw {
width: auto !important;
}