2009-07-17 14 views
1

Googleマップを使用するHTMLフォームを作成していますが、画面上の混乱を減らすためにGoogleマップを削除し、マップタイプを変更するための簡単な送信ボタンに置​​き換えました(例えば、サテライト、ハイブリッド、ノーマル)。私が抱えている問題は、IEが以下を受け入れることを拒否していることです。map.setMapType(G_SATELLITE_MAP);Google Maps APIでIE8の問題が発生しました

私のアプリケーションはSafariとFFで美しく動作しますが、IE8では全く動作しません。参考まで

ここで私が呼び出しています機能さ:

<form action ="#" onsubmit="return map_type_sat()"> 
<input type="Submit" value="satellite"> 
</form> 

誰もがないように、それを引き起こしてしまう問題を見ることができます:

function map_type_sat() 
{ 
    map.setMapType(G_SATELLITE_MAP); 
    return true; 
} 

、ここでは、私はそれを呼び出しています方法ですこのコマンドを実行するために必要なプラグインを持っている私のバージョンのIEに問題があります。

答えて

2

なぜマップフォームを設定するためにフォーム提出を使用しているのかわかりません。これは実際にはIEで異なって扱われる可能性があり、「#」のターゲットアクションでも完全なポストバックを引き起こす可能性があります。それを変更して、通常の入力ボタン用のクリックハンドラを使用し、フォームを省略してみてください。これにより、関数から値を返す必要もなくなります。

function map_type_sat() 
{ 
    map.setMapType(G_SATELLITE_MAP); 
} 

<input type='button' value='satellite' onclick='map_type_sat()' /> 

または、より良い、

function set_map_type(type) 
{ 
    map.setMapType(type); 
} 

<input type='button' value='normal' onclick='set_map_type(G_NORMAL_MAP);' /> 
<input type='button' value='satellite' onclick='set_map_type(G_SATELLITE_MAP);' /> 
<input type='button' value='hybrid' onclick='set_map_type(G_HYBRID_MAP);' /> 
関連する問題