将经度和纬度插入MySQL数据库

时间:2014-08-25 14:38:30

标签: php

此代码已经尝试了几天来插入谷歌api生成的纬度和经度。 Heere是我的代码和错误:

//Use the above code before the file_get_content. means, use the following code
$address1 = str_replace(" ", "+", $address1);
$json = file_get_contents("http://maps.google.com/maps/api/geocode/json?address=$address1&sensor=false&region=GTH");
$json = json_decode($json);

$lat = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lat'};
$long = $json->{'results'}[1]->{'geometry'}->{'location'}->{'lng'};

//DATABASE INSERTION
include'include/convert.php';
     $sqlquery3="insert
     into
     corp
     (lat,lon) "."VALUES
     ('$lat','$long')";
  

错误提示:未定义的偏移量:C:\ Program Files \ Apache Software中的1   第207行的Foundation \ Apache2.2 \ htdocs \ gg \ companyregistration.php

     

注意:尝试在C:\ Program中获取非对象的属性   Files \ Apache软件   第207行的Foundation \ Apache2.2 \ htdocs \ gg \ companyregistration.php

     

注意:尝试在C:\ Program中获取非对象的属性   Files \ Apache软件   第207行的Foundation \ Apache2.2 \ htdocs \ gg \ companyregistration.php

     

注意:尝试在C:\ Program中获取非对象的属性   Files \ Apache软件   第207行的Foundation \ Apache2.2 \ htdocs \ gg \ companyregistration.php

1 个答案:

答案 0 :(得分:2)

为什么要混合索引0 索引1

Google API正在返回一组地址。如果您的请求返回1个可能的答案,则结果数组将只包含1个条目。

获得纬度&第一个地址的经度:

$lat = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lat'};
$long = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lng'};

通过做:

$lat = $json->{'results'}[0]->{'geometry'}->{'location'}->{'lat'};
$long = $json->{'results'}[1]->{'geometry'}->{'location'}->{'lng'};

您正在使用第一个结果的纬度和第二个结果的经度(在您的情况下没有第二个结果)。