Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过谷歌地图API运行地址数据库?_Php_Mysql_Database_Google Maps_Google Maps Api 3 - Fatal编程技术网

Php 通过谷歌地图API运行地址数据库?

Php 通过谷歌地图API运行地址数据库?,php,mysql,database,google-maps,google-maps-api-3,Php,Mysql,Database,Google Maps,Google Maps Api 3,我对使用google maps api很陌生,基本上,我想实现的是我有一个数据库,其中包含各种地址和特定地址的信息 该数据库是公开发布的,因此我们会偶尔更新,但该数据库不包含经度和纬度的列表,我不太清楚如何通过google maps api运行该数据库,以便我们可以输出一张地图,其中每个属性都固定有一些信息。有人能给我点启示或给我指出正确的方向吗? 干杯 我不太确定您想要实现什么,但您必须使用将地址转换为纬度/经度 然后,创建一个算法来获取所有lat/lng并将其显示在地图上。如果您有任何问题,

我对使用google maps api很陌生,基本上,我想实现的是我有一个数据库,其中包含各种地址和特定地址的信息

该数据库是公开发布的,因此我们会偶尔更新,但该数据库不包含经度和纬度的列表,我不太清楚如何通过google maps api运行该数据库,以便我们可以输出一张地图,其中每个属性都固定有一些信息。有人能给我点启示或给我指出正确的方向吗?
干杯

我不太确定您想要实现什么,但您必须使用将地址转换为纬度/经度


然后,创建一个算法来获取所有lat/lng并将其显示在地图上。如果您有任何问题,请尝试返回我们

从数据库中获取所有项目,并将它们循环到URL中,就像这样

http://maps.googleapis.com/maps/api/geocode/xml?address=1600+Pennsylvania+Ave+Washington+DC&sensor=true
您将得到一个XML响应,解析它并存储lat/lng

请注意服务条款,尽管这取决于您的请求数量。如果数量过多,则将其拆分并对其进行地理编码,以避免达到极限。一旦你开始了你的日常生活,这就不是什么大事了

这应该让你开始

$context  = stream_context_create(array('http' => array('header' => 'Accept: application/xml')));
$url = 'http://maps.googleapis.com/maps/api/geocode/xml?address=1600+Pennsylvania+Ave+Washington+DC&sensor=true';

$xml = file_get_contents($url, false, $context);
$xml = simplexml_load_string($xml);
print_r($xml);

用谷歌地图API对地址进行地理编码是小菜一碟,你被困在哪里了?注意:您可以从数据库中对地址进行地理编码,但不能存储latLng地址(短期除外)。如果您不想储存板条的持久性,请使用免费服务,例如。