1

Google Maps JavaScript API v3用の非常にシンプルなjQueryプラグインを作成しました。Google Maps JavaScript APIエラーInternet Explorerで

私が手にエラーが次の行に「オブジェクトはこのプロパティまたはメソッドをサポートしない」であるFirefoxの、クロム(ら)ではなく、Internet Explorerの8

で働いている...

map = new google.maps.Map(mapContainer, myOptions); 

実例ページをオンラインにしてデモンストレーションしています...私はバッキンガム宮殿を取得しようとしています!コードはjquery.simplemap.jsファイルに表示され、縮小されていません。

http://www.stevefenton.co.uk/cmsfiles/assets/File/simplemap.html

任意の助けもいただければ幸いです。私はこのコードを詳細なデバッグを行っている

UPDATEおよびそれ実際に重く、完全に判読不能縮小され、Googleのコード、内部エラー - エラーが後にあるとして、これは、なぜマップがロードされマップが初期化されます。私はそれを知ったときに私はもっと投稿します。

アップデート2

私が正しい場所を表示するマップを得ることになり、プラグイン、中に再注文した様々なものを持っているが、理由マップ、GoogleマップAPIに深い発生するエラーのマーカーまたはコールアウトを追加できません。

+0

奇妙なことに地図がロードされています... – Hamish

+0

@ハミッシュ - 合意しましたが、マップはロードされますが、アドレスはありません。 – Fenton

答えて

6

さて、私は、この問題に対する解決策を発見しました。

Google Maps APIの内部から発生したエラーは、変数のスコープがマップの格納に使用されていることが原因です。このようなAPIを使用何かのためのすべての例...「マップ」は...これらの素晴らしい謎スコープ変数の一つであり、私は私の内部で、このコードのすべてを実行していることを

map = new google.maps.Map(mapContainer, myOptions); 

注意jQuery Plugin - 結果的に、Google Maps APIはmap変数でハンドルを取得できません。

マップをグローバル変数として宣言することで、Google Maps APIからアクセスできるようになり、すべてが魔法のように完全に機能し始めます。

ので、修正が...グローバルスコープで

var map; 

を宣言することですので、APIはそれを取得することができます。

0

タイミングの問題だと思います。 HTMLからこのコールを作ってみましょう:

$("#map").simplemap({ search: "Buckingham Palace, London", description: "Buckingham Palace,<br>London" }); 

準備に:

$.ready(function() { 
    $("#map").simplemap({ search: "Buckingham Palace, London", description: "Buckingham Palace,<br>London" }); 
}); 
+0

これを例に追加しました - IE8はまだエラーです:( – Fenton

関連する問題