[英]Passing php json to javascript object for google map API
我建立了一個坐標和其他颶風信息數據庫。
<?php
include '/database_connector.php'; //include database connection information
$new = array();
$result=mysqli_query($con, "select * from Spots15 where `Name` = 'Ana' or 'One'");
while($row=mysqli_fetch_array($result)){
$lat = $row['LAT'];
$long = $row['LONG'];
$latlong = $lat.", ". $long;
array_push($new, $latlong);
}
echo json_encode($new);
?>
這是正確的輸出。 這是api想要的輸出
["31.5, -77.6","31.5, -77.7","31.5, -77.5","31.6, -77.8","31.5, -77.5","31.5, -77.3","31.6, -77.3","31.7, -77.4","31.9, -77.3","32.1, -77.4","32.2, -77.5","32.4, -77.6","32.6, -77.8","32.7, -77.9","32.7, -78.1","32.9, -78.3","32.9, -78.3","33.1, -78.2","33.2, -78.3","33.6, -78.5","33.8, -78.7","34.0, -78.9","34.1, -78.9","34.1, -78.9","34.4, -78.6"]
我想將這些傳遞給Google Map API,以便在地圖上繪制坐標。
var four=new google.maps.LatLng(28.2,-96.0);
您可以在html標記之前(或在另一個PHP頁面中,使用include函數)進行數據檢索,然后可以使用此行將PHP數組傳遞給JavaScript:
var arr = <?php echo json_encode($new) ?>;
此時,在for循環中,您可以通過以下方式獲得緯度和經度:
var lat = Number(arr[i].split(",")[0].trim());
var lng = Number(arr[i].split(",")[1].trim());
之后,您可以使用變量來繪制所有點。
var four = new google.maps.LatLng(lat, lng);
希望我能正確理解您的問題。
這里有一些代碼預覽。
var arr = <?php echo json_encode($new) ?>;
for(var i=0; i<arr.length;i++)
{
var lat = Number(arr[i].split(",")[0].trim());
var lat = Number(arr[i].split(",")[0].trim());
var four = new google.maps.LatLng(lat,lng);
var marker=new google.maps.Marker({
position:four,
map:map
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.