You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress模板调用带API密钥的多谷歌地图:实现双不同位置地图展示

嘿,我来帮你搞定在WordPress里展示两个不同位置的谷歌地图这件事!下面是完整的实现方案,一步步来:

步骤1:修改PHP函数,输出双地图容器

先把你原来的lokacije()函数改成能生成两个独立地图容器的版本,每个地图分配唯一ID,方便JS定位初始化:

function lokacije(){ 
    $output = "
    <div class='google-maps-wrapper'>
        <div id='map1'></div>
        <div id='map2'></div>
    </div>
    <style>
        /* 必须给地图设置高度,否则会显示为空 */
        .google-maps-wrapper div {
            height: 400px;
            margin: 20px 0;
            width: 100%;
            border-radius: 8px;
        }
    </style>
    <script>
        function initMap() {
            // 第一个地图的位置(你的原始坐标)
            var location1 = {lat: 45.3592940, lng: 14.3495750};
            var map1 = new google.maps.Map(document.getElementById('map1'), {
                zoom: 16,
                draggable: false,
                scrollwheel: false,
                center: location1
            });
            var marker1 = new google.maps.Marker({
                position: location1,
                map: map1,
                icon: 'http://www.omniaprijevodi.hr/wp-content/your-marker-icon.png' // 补全你的标记图标完整URL
            });

            // 第二个地图的位置(替换成你需要的目标坐标)
            var location2 = {lat: 45.815011, lng: 15.981919};
            var map2 = new google.maps.Map(document.getElementById('map2'), {
                zoom: 16,
                draggable: false,
                scrollwheel: false,
                center: location2
            });
            var marker2 = new google.maps.Marker({
                position: location2,
                map: map2,
                // 可选:给第二个地图用不同标记图标
                icon: 'http://www.omniaprijevodi.hr/wp-content/second-marker-icon.png'
            });
        }
    </script>";
    
    return $output;
}
// 注册短代码,方便在文章/页面里快速调用
add_shortcode('display_two_maps', 'lokacije');

步骤2:在WordPress中引入带API密钥的谷歌地图脚本

打开主题的functions.php文件,添加以下代码,记得替换成你自己的谷歌地图API密钥:

function load_google_maps_api() {
    // 替换成你的谷歌地图API密钥
    $api_key = 'YOUR_PERSONAL_GOOGLE_MAPS_API_KEY';
    // 异步加载API,确保回调函数initMap能触发
    wp_enqueue_script('google-maps', 'https://maps.googleapis.com/maps/api/js?key=' . $api_key . '&callback=initMap', array(), null, true);
}
add_action('wp_enqueue_scripts', 'load_google_maps_api');

步骤3:调用展示地图

  • 如果是在WordPress文章/页面编辑器里,直接插入短代码:[display_two_maps]
  • 如果是在模板文件(比如page.php、single.php)里,直接调用函数:echo lokacije();

小提醒

  • 确保你的API密钥已经启用了Maps JavaScript API,不然地图会加载失败
  • 标记图标的URL一定要补全完整路径,避免出现图标加载不出来的情况
  • 可以根据需求调整地图的zoom缩放级别、draggable拖拽权限等参数

内容的提问来源于stack exchange,提问作者Diana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:03:55