나는 뒤죽박죽이다. 내 JSON 객체가 콜백 함수로 구문 분석되지 않는 이유를 모르겠습니다. (내가 <는 len; 난 + + var에 나는 = 0, 렌 = data.features.length) {json 객체를 Google지도로 전송 vai ajax response from php script
당신의 도움 데이터 를 정의되지 않는다 :
이 형식 오류가: 나는 콘솔 로그에 다음과 같은 오류를 얻고있다 대단히 감사합니다!
아약스 코드 :
$.ajax({
type : 'POST',
url : 'timezone.php',
dataType : 'json',
data : { "func" : "getFirstAndNext", epochTime : browserUTC },
success : function(data) {
console.log(data.first);
console.log(data.next);
sector_callback(data.first);
// do something with data.myObject.memberVariable
},
error : function (XMLHttpRequest, textStatus, errorThrown) {
// didn't work!
}
});
PHP 스크립트 :
<?php
//header('Content-Type: application/json; charset=utf-8');
function getFileStamp($type) {
$timeInterval = 15; // minutes
$now = round($_POST['epochTime']/1000);
$now = round(1352324181061 /1000); // 3:36:21
//$now = round(1352238011.067);
$offsetInSeconds = $timeInterval * 60;
$offsetInMillis = $timeInterval * 60 * 1000;
$currentFileTime = $now - $now % ($timeInterval * 60);
//$currentFileTime = ($now - ($now % $offsetInMillis))/1000.0; // this returns epoch time in $timeInterval minutes.
$nextFileTime = $currentFileTime + $offsetInSeconds; // next epoch time for file;
return ($type == 0) ? $currentFileTime : $nextFileTime;
}
$currentFileTime = getFileStamp(0) . '.json';
$nextFileTime = getFileStamp(1) . '.json';
$res = array();
$res['file1'] = file_get_contents($currentFileTime);
$res['file2'] = file_get_contents($nextFileTime);
echo json_encode(array("first"=>$res['file1'],"next"=>$res['file1'])); //takes contents and converts it to json object
?>
섹터 콜백 기능 :
var allPolygons = [];
function sector_callback() {
//console.log(data);
var bounds = new google.maps.LatLngBounds();
for (var i = 0, len = data.features.length; i < len; i++) {
var coords = data.features[i].geometry.coordinates[0];
siteNames = data.features[i].properties.Name; // added for site names
var path = [];
for (var j = 0, len2 = coords.length; j < len2; j++){ // pull out each set of coords and create a map object
var pt = new google.maps.LatLng(coords[j][1], coords[j][0])
bounds.extend(pt);
path.push(pt);
}
var polygons = new google.maps.Polygon({
path: path,
strokeColor: "#000000",
strokeOpacity: 0.8,
strokeWeight: 1,
fillColor: "#000000",
fillOpacity: 0.35,
map: map
});
createClickablePoly(polygons, siteNames);
google.maps.event.addListener(polygons, 'mouseover', function() {
var currentPolygon = this;
currentPolygon.setOptions({
fillOpacity: 0.45,
fillColor: "#FF0000"
})
});
google.maps.event.addListener(polygons, 'mouseout', function() {
var currentPolygon = this;
currentPolygon.setOptions({
fillOpacity: 0.35,
fillColor: "#000000"
})
});
allPolygons.push(polygons);
}
}
data.first가 정의되어 있습니까? sector_callback (데이터)이 아닌 이유는 무엇입니까? –
두 개의 JSON 객체를 반환하려고합니다. console.log (data.first) 및 colsole.log (data.next) –