【发布时间】:2026-02-21 16:00:02
【问题描述】:
我正在尝试创建一个在地图上显示 4 个本地化的滑出框。每个本地化都在一张地图上。
我创建了一个带有自定义帖子字段 lat 和 lng 的自定义帖子类型。我正在通过
获取自定义帖子字段<?php
$args = array(
'post_type'=> 'localisations',
'posts_per_page' => 4,
'orderby' => 'date',
'order' => 'DESC',
);
query_posts($args);
if ( have_posts() ) :
while ( have_posts() ) : the_post();
$meta = get_post_meta( $post->ID, 'real_estate_location_details', true );
?>
在我的下一步中,我将使用 jQuery 向 div.mapholder 添加一个带有增量的 ID
jQuery(function($){
var i=0;
$('.mapholder').each(function(){
i++;
var newID='map'+i;
$(this).attr('id',newID);
$(this).val(i);
});
});
<div id="map-container">
<div class="mapholder"></div>
</div><!-- #map-container -->
最后我正在创建地图
function initialize() {
var latVariable = "<?php echo $meta['lat']; ?>";
var lngVariable = "<?php echo $meta['lng']; ?>";
var mapOptions = {
center: {lat: latVariable, lng: lngVariable},
zoom: 5
}
var map = new google.maps.Map(document.getElementById('map'+i), mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
控制台输出一些错误:
- `您已在此页面上多次包含 Google Maps JavaScript API。这可能会导致意外错误。` - 我认为这是因为 `var map new google.maps.Map(document.getElementById('map'+i), mapOptions);` 中的增量不起作用,但我没有知道如何解决这个问题。
- Uncaught SyntaxError: Unexpected token new - 得到了这个。我在 map 和 new 之间缺少 `=`
你能帮我解决这个问题吗?
【问题讨论】:
-
你能显示更多代码吗?如果您可以显示完整的文件内容以及指向实时站点的链接(如果有的话)会很好
-
这里是完整的代码:pastebin.com/TCrhm8XV。我还没有准备好实时网站。
-
您已在此页面上多次包含 Google Maps JavaScript API。 我认为这很清楚,不是吗?不要多次添加脚本(将其从循环中取出)。
标签: wordpress loops google-maps-api-3