我想知道是否有人能帮我。我目前正在尝试设置google maps Javascript API,以便在本地主机上与wordpress配合使用,但没有成功。请在下面找到我的步骤。
-步骤1:我去了Google开发者API管理器,为Google Maps Javascript API启用了一个API。
-步骤2:我生成了一个API密钥。
-步骤3:我像这样嵌入了maps Javascript API,并包含了API键,其中显示key={MY API key}:
if ( ! function_exists( \'foundationpress_scripts\' ) ) :
function foundationpress_scripts() {
//Load Google Maps API
wp_enqueue_script(\'google-maps\', \'https://maps.googleapis.com/maps/api/js?key={MY API KEY}\' );
//Load custom JS script
wp_enqueue_script(\'custom-scripts\', get_stylesheet_directory_uri() . \'/assets/javascript/custom/custom-scripts.js\', array(), \'1.0.0\', true );
// Add the comment-reply library on pages where it is necessary
if ( is_singular() && comments_open() && get_option( \'thread_comments\' ) ) {
wp_enqueue_script( \'comment-reply\' );
}
}
add_action( \'wp_enqueue_scripts\', \'foundationpress_scripts\' );
endif;
-步骤4:我创建了一个自定义脚本。js文件并加载到我指定的目录。
-步骤5:我添加了
var map;
function initMap() {
map = new google.maps.Map(document.getElementById(\'map-canvas\'), {
center: {lat: -34.397, lng: 150.644},
zoom: 8
});
}
到自定义脚本。js文件。
步骤6:我创建了一个模板页面,并将其链接到仪表板内的一个页面,然后添加<div id="map-canvas"></div>
.
我没有收到任何WP\\U调试错误,也没有收到任何开发人员控制台错误。有人知道为什么会这样吗。我感谢你的帮助。
最合适的回答,由SO网友:Dave Romsey 整理而成
我在做了一点小动作后,终于可以把它弄好了。给出#map-canvas
元素a高度(您可以在CSS中执行此操作):
<div id="map-canvas" style="height:500px"></div>
添加
callback
的参数
google-maps
编写URL脚本并添加
defer
和
async
属性
google-maps
脚本标记。还制造
custom-scripts
的依赖项
google-maps
:
if ( ! function_exists( \'foundationpress_scripts\' ) ) :
function foundationpress_scripts() {
//Load custom JS script
wp_enqueue_script(\'custom-scripts\', get_stylesheet_directory_uri() . \'/assets/javascript/custom/custom-scripts.js\', array(), \'1.0.0\', true );
// Load Google Maps API. Make sure to add the callback and add custom-scripts dependency
wp_enqueue_script(\'google-maps\', \'https://maps.googleapis.com/maps/api/js?key=MY_API_KEY&callback=initMap\', array( \'custom-scripts\' ) );
// Add the comment-reply library on pages where it is necessary
if ( is_singular() && comments_open() && get_option( \'thread_comments\' ) ) {
wp_enqueue_script( \'comment-reply\' );
}
}
add_action( \'wp_enqueue_scripts\', \'foundationpress_scripts\' );
endif;
// Add async and defer attributes
function google_maps_script_attributes( $tag, $handle) {
if ( \'google-maps\' !== $handle ) {
return $tag;
}
return str_replace( \' src\', \' async="async" defer src\', $tag );
}
add_filter(\'script_loader_tag\', \'google_maps_script_attributes\', 10, 2);
修复所有内容后,请确保在浏览器中进行硬重新加载。