如何在Google Maps Directions API网址中指定地址

时间:2013-08-09 22:58:29

标签: google-maps

如何在Google Maps Web Services Directions API网址中指定地址? Maps Web Services page

  

转换从用户输入收到的URL有时很棘手。例如,用户可以输入“5th& Main St.”的地址通常,您应该从其部分构造URL,将任何用户输入视为文字字符。

然而,这不是很清楚。没有例子,我在网上找不到任何例子。这是否意味着,对于给定的例子,“5th& Main St.”以下是否有效?

https://maps.googleapis.com/maps/api/directions/json?destination=5th%26Main+St.&sensor=true

如果没有,那么正确的转换是什么?

感谢阅读。

1 个答案:

答案 0 :(得分:2)

根据我的理解,您正在寻找 URI encode

在Javascript中:

  

encodeURI 用于对包含特殊字符的字符串进行编码   外语。

示例:

var address =  "5th&Main St.";
var encodedAddress = encodeURI(address);

然后在google maps API中传递encodedAddress。

https://maps.googleapis.com/maps/api/directions/json?destination=encodedAddress&sensor=true

符号等效编码的小列表(Percent encoding):

space   %20
!       %21
"       %22
#       %23
$       %24
%       %25
&       %26     // this what happended in your case
'       %27
(       %28
)       %29

一旦我遇到问题,就会做 geocoding via C#

我使用 HttpUtility.UrlEncode() 为地址执行类似的URI编码,然后将其传递给Google API,如上所述。每种语言都有自己的编码技术,但输出相同。

希望你明白。