Ich versuche eine App zu erstellen, die Benutzerdaten (lat, lon) aus der Database (mysql) bekommt und dann ihre Position auf google map zeigt. HierZeige JSON Antwort (lat, lon) in Google Karte
ist das Codebeispiel:
function initMap() {
var mapDiv = document.getElementById('map');
var map = new google.maps.Map(mapDiv, {
center: {lat: 33.7167, lng: 73.0667},
zoom: 11
});
makeRequest('get_locations.php', function(data) {
//alert("abc");
var data = JSON.parse(data.responseText);
//window.alert(data);
for (var i = 0; i < data.length; i++) {
//display(data[i]);
displayLocation(data[i]);
}
});
}
function makeRequest(url, callback) {
var request;
if (window.XMLHttpRequest) {
request = new XMLHttpRequest(); // IE7+, Firefox, Chrome, Opera, Safari
} else {
request = new ActiveXObject("Microsoft.XMLHTTP"); // IE6, IE5
}
request.onreadystatechange = function() {
if (request.readyState == 4 && request.status == 200) {
callback(request);
}
}
request.open("GET", url, true);
request.send();
}
get_locations.php
<?php
include('connection.php');
$l= array();
$result = mysqli_query($con,"SELECT * FROM users");
while ($row = mysqli_fetch_assoc($result)) {
$l[] = $row;
}
$j = json_decode($l, true);
//echo $j;
?>
Einige Dinge, die ich versucht haben, das Problem auf dem Code zu finden, aber nicht
In get_location.php auf echo $ j; zeigt mir die richtige Antwort
Vor dieser Zeile var data = JSON.parse (data.responseText); Warnung ("abc") funktioniert, aber nicht danach, so denke ich, das Problem liegt in dieser Zeile, aber weiß nicht, warum es passiert, Irgendeine Idee?
In der 'get_location.php' Sie müssen' json_encode' verwenden, anstatt ' json_decode' und Sie müssen es auch echo, so dass der Ajax-Callback etwas zu arbeiten hat. – RamRaider
Ohh Wie kann ich das verpassen? BTW danke für die Antwort :) Es funktioniert –