Google地理编码API使用php CURL

时间:2016-12-20 15:10:13

标签: php curl google-api google-geocoder

我想从这个地址获得经纬度。问题是,当使用curl调用URL时,它会给出响应ZERO_RESULTS,但是当从浏览器调用它时,它会给出正确的响应。证书geocode_api存在,它在正确的路径,所以这不是问题。我在这里缺少什么?此代码适用于其他地址

<?php
$url = "https://maps.google.com/maps/api/geocode/json?address=VIA+RISORGIMENTO,+FUMONE,+03010,+FR,+Italia";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXYPORT, 3128);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CAINFO, "modules/Map/cert/geocode_api.crt");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($ch);

curl_close($ch);
if(empty($response)){
    return;
}
$response_a = json_decode($response);

echo $response;

1 个答案:

答案 0 :(得分:0)

我尝试了以下请求:

  1. 地点自动填充功能 https://maps.googleapis.com/maps/api/place/autocomplete/json?input=VIA%20RISORGIMENTO%2C%20FUMONE%2C%2003010%2C%20FR%2C%20Italia&key=YOUR_API_KEY

  2. 按街道名称,地区和国家/地区https://maps.googleapis.com/maps/api/geocode/json?components=route%3AVIA%20RISORGIMENTO%7Clocality%3AFUMONE%7Ccountry%3AIT&key=YOUR_API_KEY

  3. 对组件过滤器进行地理编码请求

    两者都返回ZERO_RESULTS。这意味着Google数据库中不存在via Risorgimento。

    让我们来看看地点/建立'Comune di Fumone,Via Risorgimento,2,03010 Fumone FR,Italy'

    https://google-developers.appspot.com/maps/documentation/utils/geocoder/#place_id%3DChIJaUCe_RdZJRMRZMdLqZRVXnk

    在基本地图上,我可以看到靠近这个地方的Covone,但是通过Risorgimento的任何迹象。

    我相信你应该在maps.google.com

    上报告遗漏的道路

    https://support.google.com/maps/answer/3094088

    希望它有所帮助!