我想在Google地图上显示多个标记,我的纬度和经度将来自数据库。我已经尝试了几天,但我似乎无法使它工作。 有人可以帮帮我吗?我真的很感激。
这是我的 PHP 代码:
$result=mysql_query("SELECT latlong FROM terminal");
while($row1 = mysql_fetch_array($result, MYSQL_NUM))
$lat[] = $row1[0];
$latlen = sizeof($lat);
$result2=mysql_query("SELECT longitude FROM terminal");
while($row2 = mysql_fetch_array($result2, MYSQL_NUM))
$longi[] = $row2[0];
for ($x=0;$x<$latlen;$x++){
$latitude = $lat[$x];
$longitude = $longi[$x];
}
但问题是,我不知道循环如何对我的 JavaScript 代码起作用:
var latitude = "<?php print_r ($latitude); ?>";
var longitude = "<?php print_r ($longitude); ?>";
var locations = [
['Bondi Beach', latitude,longitude ],
];
此代码仅显示1个标记。请帮忙。
答案 0 :(得分:1)
这是一个关于你要做什么的很棒的教程。 https://developers.google.com/maps/articles/phpsqlajax_v3
答案 1 :(得分:0)
问题是你需要将每个标记生成为json数据 使用json_encode($ markers)
使用php文件将数组返回给json{
"markers": [
{
"latitude": 57.7973333,
"longitude": 12.0502107,
"title": "Angered",
"content": "Lorem ipsum"
},
{
"latitude": 57.6969943,
"longitude": 11.9865,
"title": "Gothenburg",
"content": "Lorem ipsum"
}
]
}
然后在jquery中使用循环来固定地图上的每个标记。
$.getJSON( 'map_data_file.php', function(data) {
$.each( data.markers, function(i, marker) {
//Populate each marker
});
});
我认为你明白了这个想法