0

私のテストページを参照してください。

ページが表示されたら、左上のボタン「Geocode」をクリックします。Firefoxを使用している場合、geocoder.geocode()のステータスはERRORになります(数秒後にアラートが表示されます)。Internet Explorer(少なくとも7)では、すべてが正常であり、マーカーがマップに追加されます。

アドレスから引用符を削除すると(l'Assomption-> lAssomption)、Firefoxではすべてが正常に実行されます。

さて、私の質問です。Firefoxでのみ見積もりがGoogle Maps V3 APIを「クラッシュ」させる方法は!?

更新:レポートのステータスがGoogleによって「確認済み」に変更されました。本当にV3のバグのようです。それは修正されていますが、ジオコーディングの前にアドレスから引用符を削除します(Googleマップはそれがなくてもそれを見つけるのに十分賢いです)。

4

1 に答える 1

1

それは変だ。Firefoxで試してみると、サーバーからの応答コードは403です。Firebugで報告されているAPI呼び出しへのテストリンクは次のとおりです。

5415ブール。de l'Assomption、モントリオール、ケベック、H1T2M4、カナダ

それで、それをIEにロードして、Charlesを起動しました。IEによって生成されたAPI呼び出しへのリンクは次のとおりです。

5415ブール。de l'Assomption、モントリオール、ケベック、H1T2M4、カナダ

違いを見ます?Firefoxはにエンコードしていますが、IEはエンコードし'%27いません。

結論

  1. ネイティブ関数またはGoogleAPIによるブラウザ処理の違い、FirefoxとIEは、URLのアポストロフィのエスケープを異なる方法で処理します。
  2. Googleのジオコードサービスエンドポイントは、URLエンコードされたアポストロフィを処理する方法を知らず、を403 - Forbiddenフォールスネガティブとしてスローします。

長い話は短いですか?バグのようです。

于 2010-05-04T20:52:08.980 に答える