我已经阅读了stack exchange上的几篇帖子,无法找出我做错了什么。
这是我的metabox回调:
<script type="text/javascript">
function initMap() {
var mapOpts = {
mapTypeId: google.maps.MapTypeId.ROADMAP,
zoom: 14,
center: { lat: 38.61687, lng: -90.219727 },
};
var map = new google.maps.Map(document.getElementById("map-canvas"), mapOpts);
}//end initMap
google.maps.event.addDomListener(window, "load", initMap);
jQuery(window).load(function() {
google.maps.event.trigger(map, "resize");
console.log("Map Resized");
});
//38.61687,-90.219727
</script>
<table width="100%" class="widefat">
<tr>
<th scope="row"><label for="_latitude">Latitude:</label></th>
<td><input type="text" name="_latitude" value="<?php print get_post_meta( $post->ID, \'_latitude\', true ); ?>" />
</tr>
<tr>
<th scope="row"><label for="_longitude">Longitude:</label></th>
<td><input type="text" name="_longitude" value="<?php print get_post_meta( $post->ID, \'_longitude\', true ); ?>" /></td>
</tr>
</table>
<h2>Map Below</h2>
<div style="height:400px;width:800px;"><div id="map-canvas" width="100%" height="100%"></div></div>
我在某个地方读到,在创建元盒之前可能正在加载地图。所以我添加了地图。事件firebug控制台中显示的触发器,映射未定义/未定义。我的控制台。日志函数也不会显示在控制台中。
我知道我一定错过了一些很小的东西。Google API通过排队脚本挂钩加载到页面中。我正在挂接“add\\u meta\\u Box”操作以添加我的metabox。
非常感谢您的帮助。
编辑---------------------------------------------------------
我通过添加以下内容来解决此问题:
#map-canvas {
height:100%!important;
}
到我包含的css文件。