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のGoogleMapsAPIの初期化機能:
<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配列を参照したいだけです。
上記のコードから得られるエラーメッセージは、Googleのサーバー上の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