1

私はこれに不慣れですが、いくつかのコードをまとめようとしましたが、エラーが発生し、機能していないようです。デバッグに役立つ入力をお願いします。

「AZ」の値で保存された「country」という Cookie があります。JavaScript を使用してこの Cookie を取得し、変数として保存してから、Google マップ ページで使用したいと考えています。これは私が持っているコードです:

// Setup variable with blank value
var country_code ='';
// Use read_cookie function to pull "country" value from cookie
if (country_code) var country_code = read_cookie('country');
// Make sure its value is lower case (required)
country_code = country_code.toLowerCase();

そして、もう少し下に:

var input = document.getElementById('loc');
var options = { types: [], ComponentRestrictions({ 'country': country_code });};
var autocomplete = new google.maps.places.Autocomplete(input, options); 

最初のエラーは、「componentrestriction」行に括弧が多すぎることです。これはどのように行うべきですか?それらを正しく閉じているように見えます。コンポーネントの制限を ({}); で囲みます。および {} を使用した var オプション。

編集: これは、スタック オーバーフローで見つけた読み取り Cookie 関数コードです。

// Reading Cookie V0.1
function read_cookie(key){
    var result;
    return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? (result[1]) : null;
}
4

2 に答える 2

1

ステートメント内にセミコロンがあり、ComponentRestrictionsの後に多くの括弧があります。

このように書いてください:

var options = { 
       types: [], 
       ComponentRestrictions: { 
                          'country': country_code 
                              }
              };
于 2012-11-13T11:06:32.967 に答える
1

コンポーネントの制限について:

var input = document.getElementById('loc');
var options = { types: [], componentRestrictions: { 'country': country_code } };
var autocomplete = new google.maps.places.Autocomplete(input, options);
于 2012-11-13T11:07:21.267 に答える