谷歌地图 - 多个标记

时间:2011-11-07 07:02:39

标签: php google-maps-api-3

我一直在搜索,试图找到简单的代码来向Google地图添加多个标记。我已经将代码调整到简单的标记示例,希望它可以工作。我没有从PHP代码中得到任何错误,所以我猜测地图代码搞砸了。这是我到目前为止的代码:

<script type="text/javascript">
  function initialize() {
    var latlng = new google.maps.LatLng(<? echo $latlonlocation; ?>);
    var myOptions = {
      zoom: <? echo $zoom; ?>,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

   var marker = new google.maps.Marker({
        position: latlng, 
        map: map
   });

   var circle = new google.maps.Circle({
     map: map,
     radius: <? echo $searchradius; ?>
   });
   circle.bindTo('center', marker, 'position');
<?
$mapcounter = "01";
while ($row106 = mysql_fetch_array($r106)) {
    if ($row106["mna"] == 1 && $row106["mrt"] == 1) {
        $imagecolor = "yellow";
    } elseif ($row106["mna"] == 1 && $row106["mrt"] == 0) {
        $imagecolor = "darkblue";
    } elseif ($row106["mna"] == 0 && $row106["mrt"] == 0) {
        $imagecolor = "red";
    } else {
        $imagecolor = "red";
    }
    $imagenumber = sprintf("%02d",$mapcounter);
    echo "var image = 'mapicons/$imagecolor$imagenumber.png';";
    echo "var DealerMarker$imagenumber = new google.maps.Marker({";
    $lats = $row106["latitude"];
    $lons = $row106["longitude"];
    echo "position: $lats $lons,";
    echo "map: map,";
    echo "icon: image";
    $mapcounter++;
    echo "});";
}
?>

google.maps.event.addDomListener(window, 'load', initialize);
</script>

我还尝试修改末尾的});,使其在数组循环内部或外部。两者都没有奏效。在我向它添加数组循环之前,确切的代码使用静态变量。任何人都可以让我朝着正确的方向前进

1 个答案:

答案 0 :(得分:1)

尝试更换 echo "position: $lats $lons,";echo "position: new google.maps.LatLng($lats, $lons),"