1

我在使用 Google 地图脚本时遇到了困难。它旨在读取存储在 cookie 中的用户所在国家/地区,然后将其放入 Google Maps 自动建议变量中,因此它仅建议来自其国家/地区的地点。

这是我一直在使用的代码:

  autocomplete = new google.maps.places.Autocomplete(input[0], {
    types: ["geocode"],
    componentRestrictions: {
      country: "uk"
    }
  });

然后我创建了这个:

// SET COOKIE FOR TESTING   
$.cookie("country", "us");

var country_code = $.cookie('country');
if (country_code) { options.componentRestrictions= { 'country': country_code }; }
var autocomplete = new google.maps.places.Autocomplete(input, options);

如果不破坏或阅读它,我似乎无法解决如何将上面的代码实现到我的代码中:http: //jsfiddle.net/spadez/5dqHg/8/

TL;博士

如何使我当前的代码读取 cookie 并将其放入 Google 地图自动建议的“国家/地区组件限制”变量中?

4

1 回答 1

0

尝试创建一个options对象并使用 cookie 中的内容更新它:

var autocompleteOptions = {
    types: ["geocode"],
    componentRestrictions: {
        country: "uk"
    }
};

var country_code = $.cookie('country');
if (country_code) { 
    autocompleteOptions.componentRestrictions.country = country_code; 
}
var autocomplete = new google.maps.places.Autocomplete(input, autocompleteOptions);

更新了 Fiddle:您应该注意 jQuery.cookie 插件的链接在 jsFiddle 中无效。GitHub 没有提供正确的 mime 类型,因此文件不会被解释为 javascript

于 2013-06-10T12:11:12.743 回答