2 javascript google-maps smart-wizard
我看到很多人在显示隐藏的 div 时遇到调整大小的问题,但我遇到了一个稍微不同的问题,需要不同的解决方案。我的谷歌地图正常工作,但我现在正在构建一个向导,一次只显示我的页面的步骤。当我启用隐藏 div 时,地图在显示之前会保持一段时间,有时根本不加载,但随后我将其从隐藏 div 移到主体部分,并立即加载。我不明白,它没有显示任何错误。请帮忙。刷新地图通常可以解决问题,但是
<div id="step-3" onshow="setTimeout(google.maps.event.trigger(map, 'resize'), 3000)">
<h2 class="StepTitle">Step 3 Content</h2>
<label>Select Job Locations: </label>
<div id="map-canvas" style="width:100%; height:400px;"></div>
<br>
<label>Zip codes in region:</label><small> (manually add zipcodes seperated in comma space form)</small>
<br>
<textarea id="zipcodes"style="width:100%;"></textarea><br>
</div>
Run Code Online (Sandbox Code Playgroud)
不会像我想象的那样修复它。
当地图的div,或者它的父级,或者它的父级父级(任何前任)具有display:none样式,并且您创建了地图时,地图视图将无法正确初始化。您必须在地图上触发调整大小事件才能重新初始化地图视图。试着打电话:
google.maps.event.trigger(map, "resize");
Run Code Online (Sandbox Code Playgroud)
在 div 可见之后。确定你可以把resize触发器放到一个小的timeout里,当他们点击div来显示时。