我已经阅读了关于这个问题的堆栈上的许多线程,但没有什么能解决我的问题。我在一个标签上有谷歌地图,该标签最初在页面加载时隐藏,并希望得到一些帮助。这是完整的代码:
<script type="text/javascript">
function loadsinglemap(){
var mymap = new MeOnTheMap({
container: "map_sidebar2",
html: "<?php echo str_replace('"',"",$post->post_title); ?>",
address: "<?php echo str_replace('"','',get_post_meta($post->ID, "map_location", true)); ?>",
zoomLevel: 15,
});
}
jQuery(document).ready(function() { loadsinglemap(); })
</script>
This is on the page where the map is displayed:
<script type="text/javascript">
$(document).ready(function(){
$('a.contact').click(function(){
google.maps.event.trigger(mymap, 'resize');
});
});
</script>
我无法让它发挥作用。如果有人看到有帮助的东西请回复。 感谢
编辑:将元素选择器更改为类,我的类链接而不是ID,现在至少可以选择它。我在firebug中收到“mymap未定义”的错误。
答案 0 :(得分:4)
取消隐藏div后再次调用initilize()函数。
我做到了,它奏效了。
JSFiddle
答案 1 :(得分:0)
我找到了而不是隐藏div设置它的高度/宽度为0px;并将其溢出设置为隐藏。
帮助我希望它可以帮助你:)
答案 2 :(得分:-2)
在这里检查Roosko的答案https://groups.google.com/forum/#!topic/google-maps-js-api-v3/aUrVnx-i7LI,它对我有用!
由于地图在模态获得定义的大小之前加载,因此会渲染 大小为零。
<a href="#?w=500" rel="popup2" class="poplight" onClick="initialize()">
<img src='images/location1.png' title='Location' alt='images/location2.png' />
</a>
单击弹出窗口时,我调用了initilize()
函数。