所有, 我有下面的代碼位:使用PHP來填充JavaScript數組
function addPoints() {
newpoints[0] = new Array(41.45998, 87.59643, icon0, 'Place', 'Content to open');
for(var i = 0; i < newpoints.length; i++) {
var point = new GPoint(newpoints[i][1],newpoints[i][0]);
var popuphtml = newpoints[i][4] ;
var marker = createMarker(point,newpoints[i][2],popuphtml);
map.addOverlay(marker);
}
}
有解決這個其他代碼在我的地圖上顯示的標記。但是這個值是硬編碼的。我有一個PHP/mySQL數據庫,其中包含緯度/長度座標以及其他一些值。假設我有三個我想創建標記的條目。我如何將我從數據庫獲得的lat/long的addPoints函數傳遞給我,以便我可以在此函數中正確使用它?
我更新了我的代碼看起來像在addPoints如下:
function addPoints(num, lat, long) {
newpoints[num] = new Array(lat, long, icon0, 'Place', 'Stuff name');
alert("The newpoints length is: "+newpoints.length);
for(var i = 1; i < newpoints.length; i++) {
var point = new GPoint(newpoints[i][1],newpoints[i][0]);
var popuphtml = newpoints[i][4] ;
var marker = createMarker(point,newpoints[i][2],popuphtml);
map.addOverlay(marker);
}
}
我做這個調用這個函數:
<script>
addPoints('<?php echo json_encode($num_coordinates); ?>','<?php echo json_encode($lat_coordinates); ?>', '<?php echo json_encode($long_coordinates); ?>');
</script>
它不工作,雖然。當我嘗試不將它傳遞給JavaScript,只輸出緯度座標例如。我得到以下輸出:
{"1":"40.59479899","2":"41.4599860"}
哪些是我的數組中的正確座標。雖然沒有創建標記。關於下一步做什麼或我做錯什麼的想法?
我有一個循環,也顯示在我的網頁上的東西。我會發送各種座標。我需要將變量傳遞給像addPoints(<?php echo $ i;?>,<?php echo $ lattitude;?>,<?php echo $ longitude;?>,icon0,'Place')的addpoints函數, '打開內容')? – user1048676
我想我會看到你要去的地方,但在給你長答案之前讓我問一下:1)當用戶與地圖交互時,你需要能夠傳遞新的座標。那是對的嗎? 2)我想你希望能夠在需要時從服務器獲取座標,而不是在第一次下載頁面時加載所有可能的座標。那是對的嗎? – Ian
所以我的場景是說我正在加載餐廳,並有10個。我試圖傳遞每個人的經緯度來創建標記。然後用戶可能會選擇酒吧,然後我將不得不通過15座標等我試圖從PHP腳本內做到這一點,因爲我正在做其他東西與郵政編碼等 – user1048676