0
我使用高級自定義字段來設置帖子的位置並將其顯示在我的自定義帖子模板中的地圖上,並且效果很好。但我也創建了一個Google地圖,它將我的自定義帖子類型的所有位置繪製在一張地圖上。在google地圖api中添加更多內容到infowindow
我的問題是我無法從這些自定義帖子中將內容或鏈接拖入infowindow。我也無法讓它根據真/假字段來更改標記。
我環視了一下互聯網,並嘗試使用谷歌建議的代碼以及該網站上的用戶,但我似乎做錯了什麼。它所做的只是顯示標題後面跟着一個奇怪的符號。任何幫助,將不勝感激:)
這是我使用的代碼:
<section>
<?php
$args = array(
'post_type' => 'offices',
'posts_per_page' => -1
);
// query
$wp_query = new WP_Query($args);
$NUM = 0;
?>
<div id="map"></div>
<script src='http://maps.googleapis.com/maps/api/js?sensor=false' type='text/javascript'></script>
<script type="text/javascript">
var locations = [<?php while($wp_query->have_posts()){
$wp_query->the_post();
$location = get_field('location'); // IMPORTANT << Change this for your Google map field name !!!!!!
?>
['<?php the_title(); ?>', <?php echo $location['lat']; ?>, <?php echo $location['lng'];?>, <?php $NUM++ ?> ],
<?php } ?> ];
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 7, /*Here you change zoom for your map*/
center: new google.maps.LatLng(42.6, -76.0), /*Here you change center map first location*/
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var infowindow = new google.maps.InfoWindow();
var marker, i;
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(locations[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
}
</script>
</section>