如果地址中包含“#”,则地址解析API无法提供响应

时间:2019-08-02 11:53:52

标签: geocoding google-geocoding-api

我正在尝试从Geocode API获取地址(公司名称,街道,邮编,国家/地区)的响应,以填充纬度和经度。我的API请求是:

https://maps.googleapis.com/maps/api/geocode/xml?address=BULTORFER DE AGUSTÍN JURADO,AV. PIO X 102+5730+Rio Tercero+AR&sensor=true&key=****************
  1. 公司名称:BULTORFER DEAGUSTÍNJURADO
  2. 街道:AV。 PIO X#102
  3. 邮政编码:5730
  4. 镇:里奥·特塞罗
  5. 国家/地区:AR

上述API GET请求的响应为:

<?xml version="1.0" encoding="UTF-8"?>
<GeocodeResponse>
    <status>REQUEST_DENIED</status>
    <error_message>You must use an API key to authenticate each request to Google Maps Platform APIs. For additional information, please refer to http://g.co/dev/maps-no-account</error_message>
</GeocodeResponse>

但是,如果我从 Street:AV。中删除#。 PIO X 102 可以正常工作并给出正确的结果。如何解决此问题?

1 个答案:

答案 0 :(得分:2)

您需要将'#'url编码为'%23'。此处更多信息:https://en.wikipedia.org/wiki/Percent-encoding