1

Googleマップにマーカーを追加するために使用したい一連の座標がデータベースにあります

次のコードを作成しました

var map;
function initialize() 
  {
    var latloncenter = new google.maps.LatLng(51,-1.4469157);
    var myOptions = 
    {
      zoom: 4,
      center: latloncenter,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

  }; 

  <? while($row = mysql_fetch_assoc($result)){?>

      var lon = "<?php echo($row['Longitude']); ?>"; 
      var lat = "<?php echo($row['Latitude']); ?>"; 


     //alert_test(lat,lon);
     setmarker(lat,lon);

<? } ?>



function setmarker(lat,lon)
{

var latlongMarker = new google.maps.LatLng(lat,lon);

var marker = new google.maps.Marker
    (
        {
            position: latlongMarker, 
            map: map,
            title:"Hello World!"
        }
    ); 

}

function alert_test(lat,lon)
{
    alert(lat +" "+ lon);
}

<body onload="initialize()"><div id="map_canvas"></div></body>

マップをロードしていて、データベースからのクエリが正しく機能していることはわかっていますが、setmarker()メソッドで何か間違ったことをしていると思います。

4

1 に答える 1

1

PHP-setmarkerループを内に配置する必要がありますinitialize()。ぜひお試しください。

JavaScriptの複雑さをすべて理解しているわけではありませんが、var1回だけ書き込むことをお勧めしますvar lat, var lon(PHPループで繰り返されます)。ええと、JS通訳者はおそらくどちらの方法も気にしません。

于 2012-04-30T20:51:53.480 に答える