【问题标题】:Strange Google Maps v3 geocode behavior when a quote is in the address引用地址时奇怪的 Google Maps v3 地理编码行为
【发布时间】:2010-05-04 20:14:47
【问题描述】:

见我的test page

在页面上,单击左上角的“地理编码”按钮。如果您在 Firefox 中,geocoder.geocode() 的状态将等于 ERROR(并在几秒钟后弹出警报)。在 Internet Explorer(至少 7 个)中,一切正常,标记已添加到地图中。

如果你从地址中删除引号(l'Assomption --> lAssomption),一切都在 Firefox 中执行。

现在我的问题是:引用如何仅在 Firefox 中“崩溃”Google Maps V3 API!?

更新:my report 的状态已被 Google 更改为“已确认”。看来这确实是一个V3错误。虽然它已修复,但我会在地理编码之前从地址中删除引号(Google 地图足够聪明,可以在没有它的情况下找到它)。

【问题讨论】:

  • 我可以复制问题(FF 3.6.3 OS X)...代码对我来说看起来不错。不幸的是,FireBug 不会记录失败调用的请求/响应,只会记录成功的调用。

标签: javascript google-maps google-maps-api-3


【解决方案1】:

这很奇怪。当我在 Firefox 中尝试时,来自服务器的响应代码是 403。这是 Firebug 中报告的 API 调用的测试链接

5415 boul. de l'Assomption, Montreal, Quebec, H1T2M4, Canada

所以,然后我在 IE 中加载它并启动 Charles。这是 IE 生成的 API 调用的链接。

5415 boul. de l'Assomption, Montreal, Quebec, H1T2M4, Canada

看到区别了吗? Firefox 将' 编码为%27,而 IE 则没有。

结论

  1. 无论是原生函数还是 Google API 在浏览器处理方面的差异,Firefox 和 IE 处理 URL 中撇号转义的方式都不同。
  2. Google 的地理编码服务端点不知道如何处理 URL 编码的撇号,并抛出 403 - Forbidden 作为误报。

长话短说?好像是个bug。

【讨论】:

猜你喜欢
  • 2013-10-05
  • 2013-04-05
  • 1970-01-01
  • 2013-12-18
  • 2013-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多