我试图在api指南上找到解决方案,但在这里我找不到。我想要做的是使用我的数据库中存储的数据在谷歌地图(api v3)上绘制标记。 以下是我从数据库中获取数据的方法:
function getDevs(){
$query = " SELECT id, lat, lon, login, id_devtask FROM dev WHERE online='1'";
$result = mysql_query($query);
$onlineDevs = array();
$singledev = array();
while($dev=mysql_fetch_array($result)){
$singledev['id']=$dev['id'];
$singledev['lat']=$dev['lat'];
$singledev['lon']=$dev['lon'];
$singledev['login']=$dev['login'];
$singledev['id_devtask']=$dev['id_devtask'];
$onlineDevs[]=$singledev;
}
return $onlineDevs;
}
然后我做$ somerandomarray = getDevs();在页面上我需要这些数据。它似乎工作正常,我得到所有想要的数据。但现在我不知道如何使用所有的lats,lons和logins(这是一个名字)在我的地图上绘制标记。这是我的地图(代码来自google的api指南):
<script type="text/javascript">
function initialize() {
var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
var mapOptions = {
zoom: 4,
center: myLatlng
}
var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title:"Hello World!"
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
你知道怎么做吗? (顺便说一句,将来我需要从标记中获取数据(可能只是id)来发布一些数据库。)
答案 0 :(得分:0)
假设$ somerandomarray保存你的数据库结果然后试试这个
var jsonStr = '<?php echo json_encode($somerandomarray) ?>';
var LatLong = JSON.parse(jsonStr);
function initialize() {
var myLatlng = new google.maps.LatLng(-25.363882, 131.044922);
var mapOptions = {
zoom: 4,
center: myLatlng
};
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var marker = [];
for(var i=0;i<LatLong.length;i++){
var LatLong1 = new google.maps.LatLng(LatLong[i].lat, LatLong[i].lon);
marker.push(new google.maps.Marker({position: LatLong1, map: map}));
}
}