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

我想在点击其中一个下拉选项时更改Google地图脚本src,因为我在搜索我的页面上的邮政编码时遇到问题。 为了获得正确的结果,我认为我需要在srcurl中使用Google的区域本地化“&region =”。( https://developers.google.com/maps/documentation/javascript/basics#Localization )

我在标记内加载了我的google maps api:

我创建了一个下拉列表

  Select Denmark Netherlands Sweden  

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

例如:如果我点击丹麦,则src将更改为: http://maps.googleapis.com/maps/api/js?sensor=false&region=DKhttp://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时,我真的是新手,所以我想也许我可以在这里得到一些帮助。

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

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

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

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

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