我在数据库中有一组坐标,我想用它来在谷歌地图上添加标记
我创建了以下代码
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()方法中做错了什么....有谁知道如何让它工作?
答案 0 :(得分:1)
您必须将PHP-setmarker循环放在initialize()
中。请试一试。
我不知道JavaScript的所有复杂性,但我认为在var
中只编写var lat, var lon
一次是个好主意(它在PHP循环中重复)。好吧,JS解释器可能不关心。