Я использую API Google Maps, чтобы получить долготу и широту адреса и отобразить его.Затем я хочу вставить данные lat и long в mysql, чтобы использовать их позже.По какой-то причине переменные lat и long просто отображаются как 0.0000000, хотя на странице правильно отображаются одинаковые переменные.
Код.
$location =
$_POST['streetAddress'] . "+" . $_POST['city'] . "+" . $_POST['state'] . "+" . $_POST ['zip'] . "+" . $_POST['country'];
// Your Google Maps API key
$key = "API Key";
// Desired address
$address = 'http://maps.google.com/maps/geo?q='.$location.'&output=json&oe=utf8&sensor=false&key=$key';
// Retrieve the URL contents
$data = file_get_contents($address);
// Parse the returned XML file
$jsondata = json_decode($data,true);
if(is_array($jsondata )&& $jsondata ['Status']['code']==200){
$lat = $jsondata ['Placemark'][0]['Point']['coordinates'][0];
$lon = $jsondata ['Placemark'][0]['Point']['coordinates'][1];
}
echo "Latitude: $lon, Longitude: $lat";
mysql_query("INSERT INTO dbname (latitude, longitude)
VALUES ('$lat, $lon')");
В таблице БД есть два обязательных поля
широта - с плавающей точкой 10,6 NOT NULL долгота - с плавающей точкой 10,6 NOT NULL
Примечание.