如何在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
如果没有,那么正确的转换是什么?
感谢阅读。
答案 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,如上所述。每种语言都有自己的编码技术,但输出相同。
希望你明白。