使用select动态更改google maps脚本src

时间:2012-08-12 01:14:06

标签: javascript jquery html html5 google-maps

我想在点击其中一个下拉选项时更改Google地图脚本src,因为我在网页上搜索邮政编码时遇到问题。为了得到正确的结果,我认为我需要使用Google的Region Localization"& region ="在src网址。(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>

我希望只要点击其中一个选项,Google地图脚本src就会更改。

例如:如果我点击丹麦,那么src将改为: http://maps.googleapis.com/maps/api/js?sensor=false&region=DK

通过查看Dynamically change the src of a script tag我已经尝试了一些东西。 但我仍然无法弄清楚如何让它发挥作用。

目前我有这个:

$('#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,我真的是新手,所以我想也许我可以在这里得到一些帮助。

2 个答案:

答案 0 :(得分:2)

您不应该这样做,因为删除脚本元素不会删除脚本创建的方法,变量等。您将收到类似的警告:

警告:您已在此页面上多次添加Google Maps API。这可能会导致意外错误

相反,您应该在请求中使用region-parameter,例如进行地理编码时

答案 1 :(得分:0)

如果您尝试根据用户选择为页面动态加载新脚本,那么您可能需要查看getScript。只是尝试更改该元素的值不会有所不同,因为它已经为您的页面加载了。

实际上,如果您想要的脚本完全依赖于下拉列表中的用户选择,我建议您完全从页面中删除它,并在用户只做出选择后加载它。