Google地图嵌入的呼叫失败,带有数字符号/磅符号/哈希标签的查询

时间:2019-07-11 21:03:27

标签: google-maps google-maps-embed

我的应用程序抛出错误: Google Maps Platform拒绝了您的请求。您必须使用API​​密钥来验证对Google Maps Platform API的每个请求。有关更多信息,请参阅http://g.co/dev/maps-no-account

我尝试使用各种查询字符串重现该错误。看来,只有当套房号或公寓号带有#号时,查询才会失败。

这有效: https://www.google.com/maps/embed/v1/place?q=17426%20Northwest%20Fwy,%20Jersey%20Village,%20TX%2077040,%20USA&key=

这不起作用: https://www.google.com/maps/embed/v1/place?q=951%20Interstate%20Hwy%2030%20#105,%20Rockwall,%20TX%2075087,%20USA&key=

一种可能的解决方案是,我省略#标签,而在获得初始地址时仅使用Place ID。

这需要大量的代码重构,所以我真的很乐意不这样做。

1 个答案:

答案 0 :(得分:1)

“#”保留字符通常用作链接小节的锚点,并且是应在URL中编码的特殊字符之一。

尝试一下:https://www.google.com/maps/embed/v1/place?q=951%20Interstate%20Hwy%2030%20%23105,%20Rockwall,%20TX%2075087,%20USA&key=

有关更多详细信息,请参阅@mrupsidown提供的有关URL encoding的Google文档。

希望这会有所帮助!