【问题标题】:Running a database of address through google maps API?通过谷歌地图 API 运行地址数据库?
【发布时间】:2013-10-30 02:31:46
【问题描述】:

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

该数据库是公开发布的,因此我们会偶尔更新,但该数据库不包含经度和纬度列表,我不太清楚如何通过 google maps api 按原样运行该数据库,所以我们可以输出一个地图,其中每个属性都固定有一些信息。任何人都可以阐明或让我朝着正确的方向前进吗? 干杯!

【问题讨论】:

  • 使用 Google 地图 API 对地址进行地理编码是小菜一碟,您卡在哪里了?你至少要尝试一下。
  • 注意:您可以从数据库中对地址进行地理编码,但您可能不会存储 latLng(短期除外)。当您不想存储 latLng 的持久性时,请使用免费服务,例如Mapquest open geocoding

标签: php mysql database google-maps google-maps-api-3


【解决方案1】:

从数据库中获取所有项目,并将它们循环到 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);

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-19
      • 1970-01-01
      • 1970-01-01
      • 2013-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多