0

ページで郵便番号を検索するときに問題が発生したため、ドロップダウン オプションの 1 つがクリックされたときに Google マップ スクリプト src を変更したいと考えています。正しい結果を得るには、src url で Google の地域ローカリゼーション「®ion=」を使用する必要があると思います ( https://developers.google.com/maps/documentation/javascript/basics#Localization )

<head>タグ内に Google マップ API をロードしました。

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>

ドロップダウンリストを作成しました

<select id="country">  
   <option value="sel">Select</option>
   <option value="DK">Denmark</option>
   <option value="NL">Netherlands</option>
   <option value="SE">Sweden</option>
</select>

オプションの 1 つがクリックされるたびに、Google マップ スクリプト src が変更されるようにします。

例: デンマークをクリックすると、src は次のように変わります。 http://maps.googleapis.com/maps/api/js?sensor=false&region=DK

このスクリプトタグの src を動的に変更するを調べて、いくつか試してみました が、それを機能させる方法がまだわかりません。

現時点で私はこれを持っています:

$('#country option').click(function(e) {
    e.preventDefault();
    var region = $(this).attr('value');
    var url = 'http://maps.googleapis.com/maps/api/js?sensor=false&region=' + region;
});

jQueryとjavascriptに関しては本当に初心者なので、ここで助けが得られるかもしれないと思いました。

4

2 に答える 2

2

スクリプト要素を削除しても、スクリプトによって作成されたメソッドや変数などは削除されないため、このようにしないでください。次のような警告が表示されます。

警告:このページにGoogleMapsAPIを複数回含めています。これにより、予期しないエラーが発生する可能性があります

代わりに、たとえばジオコーディングの場合など、リクエスト内でregionパラメータを使用する必要があります

于 2012-08-12T08:02:34.430 に答える
0

ユーザーの選択に基づいてページの新しいスクリプトを動的にロードしようとしている場合は、getScriptを確認することをお勧めします。その要素の値を変更しようとしても、ページに既に読み込まれているため、違いはありません。

実際、目的のスクリプトがドロップダウンでのユーザーの選択に完全に依存している場合は、ページから完全に削除し、ユーザーが選択した後にのみロードすることをお勧めします。

于 2012-08-12T01:37:34.773 に答える