我想從PHP/MySQL查詢返回數據庫的緯度和經度值到我的Javascript函數,以填充谷歌地圖JSON請求。無法將經度/緯度結果從PHP返回到Javascript JSON MySQL查詢
我的PHP/MySQL查詢腳本,phpsearch2.php是:
<?php
include "base.php";
$name = $_GET["name"];
$query = "SELECT lat, lng FROM markers WHERE name = '".$name."'";
$result = mysql_query($query);
while($row = mysql_fetch_array ($result))
{
echo '{';
echo '"latitude":"'.$row['lat'].'",';
echo '"longitude":"'.$row['lng'].'",';
echo '}';
}
?>
它返回這個格式的值:
{"latitude":"37.730267","longitude":"-122.498589",}
這裏是我的根計算功能,當我運行程序我得到一個錯誤,說'起源未定義'即使我認爲我設置它具有相同的價值作爲返回結果從JSON請求到phpsearch,我只是不知道錯誤在哪裏。
function calcRoute() {
var startname = document.getElementById('start').value;
var endname = document.getElementById('end').value;
var waypts = [];
var checkboxArray = document.getElementById('waypoints');
for (var i = 0; i < checkboxArray.length; i++) {
if (checkboxArray.options[i].selected == true) {
waypts.push({
location:checkboxArray[i].value,
stopover:true});
}
}
$.getJSON("phpsearch2.php", {name : startname}, function (result) {
origin = google.maps.LatLng('result');
});
var end = new google.maps.LatLng('37.738029', '-122.499481');
var request = {
origin: origin,
destination: end,
waypoints: waypts,
optimizeWaypoints: true,
travelMode: google.maps.DirectionsTravelMode.WALKING
};
directionsService.route(request, function(response, status) {
//document.write('<b>'+ start + end + '</b>');
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
var route = response.routes[0];
var summaryPanel = document.getElementById('directions_panel');
summaryPanel.innerHTML = '';
// For each route, display summary information.
for (var i = 0; i < route.legs.length; i++) {
var routeSegment = i + 1;
summaryPanel.innerHTML += '<b>Time for a Walkabout </b><br>';
summaryPanel.innerHTML += '<b>From ' + startname + ' </b>';
summaryPanel.innerHTML += '<b>to ' + endname + '('+ route.legs[i].distance.text +')</b><br>';
}
}
});
}
OT:始終使用'json_encode'在PHP中生成JSON。看看這個答案,瞭解同步和異步代碼之間的區別:http://stackoverflow.com/a/14220323/218196。 Ajax是異步的。 – 2013-04-07 00:25:31