我正在建立一個應用程序,有一個人名的數據庫,有關他們的信息和他們的當前位置。 我設法使用Google maps javascript API創建地圖,並標記您當前的位置。然而,我似乎無法使用PHP循環爲我的數據庫中的每個人放置一個帶有信息窗口的標記。這裏是我的代碼:谷歌地圖標記與JavaScript和PHP
lat = position.coords.latitude;
lon = position.coords.longitude;
//init map
myOptions = {
center: new google.maps.LatLng(lat, lon),
zoom: 15,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var image = 'http://i43.tinypic.com/v48d1w.png';
var loca = new google.maps.LatLng(lat, lon);
var currnetLocationMarker = new google.maps.Marker({
position: loca,
map: map,
animation: google.maps.Animation.DROP,
icon: image
});
var contentString;
var marklatlng;
<?php
require("connect.php");
$query = mysql_query("SELECT * FROM gigs");
$i = 0;
while($data = mysql_fetch_array($query))
{
echo "
contentString = 'Name: <b>" . $data['name'] . "</b><br> Info: <b>" . $data['desc'] . " </b>';
var infowindow" . $i . " = new google.maps.InfoWindow({
content: contentString
});
marklatlng = new google.maps.LatLng(" . $data['lat'] . ", " . $data['lng'] . ");
var marker" . $i . " = new google.maps.Marker({
position: markLatlng,
map: map,
});
google.maps.event.addListener(marker" . $i . ", 'click', function() {
infowindow" . $i . ".open(map,marker" . $i . ");
});
";
$i++;
}
?>
對不起,我不是很熟悉javascript。你能給我一個代碼示例嗎? – arielschon12 2012-03-10 14:16:54
工作,但如果你要嘗試這個與大表和沒有Ajax,你會得到一個非常緩慢的網站.. – maartencls 2012-03-10 14:19:50
這應該工作。但我認真推薦使用AJAX和PDO而不是'mysql_query'的東西。 – maartencls 2012-03-10 14:28:48