1

如何在 Google Maps Web Services Directions API URL 中指定地址?地图网络服务页面状态

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

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

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

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

谢谢阅读。

4

1 回答 1

4

据我了解,您正在寻找URI encode.

在 Javascript 中:

encodeURI用于对带有特殊字符(包括外语)的字符串进行编码。

例子:

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

然后在谷歌地图 API 中传递编码地址。

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

符号等效编码(百分比编码)的小列表:

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

一旦我遇到问题,在做geocoding via C#.

我使用HttpUtility.UrlEncode()for address 进行了类似的 URI 编码,然后将其传递给我上面提到的 Google API。每种语言都有自己的编码技术,但输出是相同的。

希望你能理解。

于 2013-08-10T06:40:32.453 回答