在 php 中,我创建了一个字符串,该字符串被传输到一个 javascript 对象数组中:
<?php
$markers = '';
while($loc = mysql_fetch_assoc($qry)){
$markers .= "{id:'".$loc['id']."', title:'".$loc['city']."', pos: new google.maps.LatLng(".$loc['latitude'].",".$loc['longitude'].")},";
}
?>
在 javascript 中 Google Maps api 的初始化函数中:
<script type="text/javascript">
<?php
if($markers){
echo 'var locations = [' . rtrim($markers, ",") . ']';
unset($markers);
}
?>
//...
//add old markers
var markers = new Array();
for (var i=0; i < locations.length; i++)
{
marker_stack[ locations[i].id ] = new google.maps.Marker({
map: map,
position: locations[i].pos,
title: locations[i].title
});
}
//...
</script>
我用标记填充了一个数组,因为我以后可能需要删除其中的一些。当我这样做时,我只想使用要删除的 id 引用 marker_stack 数组。
我从上面的代码中得到的错误信息在谷歌服务器上的一个 js 文件中:
Uncaught Error: Ungültiger Wert für Bauunternehmer-Parameter 0: [object Object],[object Object],[object Object],[object Object],[object Object],[object Object] main.js:36