让 PHP 吐出 javascript 代码。
这是我编写的一个方便的 javascript 函数,用于添加与窗口关联的标记。
function add_marker(opts, place) {
var marker = new google.maps.Marker(opts);
marker.place_id = place.id;
markers[place.id] = marker;
var infowindow = new google.maps.InfoWindow({
content: place.details
});
infowindows[place.id] = infowindow;
google.maps.event.addListener(marker, 'click', function() {
infowindows[marker.place_id].open(map,marker);
});
}
因此,在某个 javascripty 位置声明之后,您将拥有一些可能类似于的 PHP(并假设您的地图是一个名为“地图”的全局地图):
<script type="text/javascript">
<?php
$count = 0;
foreach ($rowset as $row): ?>
add_marker({
position: new google.maps.LatLng(<?php echo $row->lat ?>, <?php echo $row->lng ?>),
title:<?php echo $row->title ?>,
map:map
}, { id:'<?php echo $count ?>', details:'<?php echo $row->details ?>' });
<?php
$count++;
endforeach; ?>
</script>
我没有对此进行任何测试,也不知道数据是什么样的,但该方法应该适用于您想要的。我不是 100% 确定自定义标记生成是什么意思,因为听起来你已经在这样做了,只是没有通过 PHP。