页面加载调用后的谷歌地图api
google maps api after page loading call
我想在谷歌位置自动完成上设置国际化。通过选择一种语言,应用程序应该加载该语言的正确谷歌api。
现在我有这个js代码:
function loadScript(src) {
var script = document.createElement("script");
document.body.appendChild(script);
script.src = src;
};
$('#' + country_id).change(function(){
delete google.maps;
$('script').each(function () {
if (this.src.indexOf('googleapis.com/maps') >= 0
|| this.src.indexOf('maps.gstatic.com') >= 0
|| this.src.indexOf('earthbuilder.googleapis.com') >= 0) {
// console.log('removed', this.src);
$(this).remove();
}
});
loadScript("http://maps.googleapis.com/maps/api/js?libraries=places&sensor=false&language=" + this.value);
setTimeout(function(){ google_address(input_id, options_type, country_id, auto_complete) }, 2000);
});
其中,google_address是设置自动完成的函数。这个解决方案不起作用,并使我在chrome:上出现错误
Failed to execute 'write' on 'Document': It isn't possible to write into a document from an asynchronously-loaded external script unless it is explicitly opened.
也尝试过使用谷歌加载,但没有成功。。。
任何想法都将非常受欢迎。
问题来自脚本为加载api而调用的document.write。无法在页面加载之外调用此函数。因此出现了错误。
多亏了这个例子,我用document.body.appendChild.为每种语言制作了自定义加载器
我也需要删除pac容器来取消绑定以前的语言选择。
只需在调用中添加一个回调参数即可避免此错误。
注意"after page loading" == "asynchronous"
相关文章:
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 标记的实时更新,无需加载页面谷歌地图API V3
- 覆盖在赢得'不允许点击下面的标记,谷歌地图api v3
- 谷歌地图Api和JS代码不工作
- 谷歌地图API-InfoBubble赢得't关闭-关闭()不会'不起作用
- 如何在多承诺链中处理谷歌地图API V3事件
- 谷歌地图api和gMapsLatLonPicker
- 谷歌地图API-“;toGeoJson”;返回几何体为null的对象
- 谷歌地图API v3:Initial View is Fine,but Gray Box with No Map if
- 为什么谷歌地图API's方法未从RequireJS中正确调用
- 使用谷歌地图api计算距离并将其设置在表格中<td>
- 使用谷歌地图API和phonegap显示当前位置+方向
- 使用谷歌地图api v3自动完成字段(法国大道、邮编、城市)
- 谷歌地图API标记没有标记我的位置
- 使用谷歌地图api 3为MapTypeId.TERRAIN分离按钮
- 在JQuery中使用谷歌地图Api事件/侦听器
- 在Ionic应用程序上使用$.getScript加载谷歌地图Api
- 我该如何解决“;未捕获引用错误:谷歌没有定义"?(谷歌地图API)
- 谷歌地图API-显示具有不同图标的标记
- 如何停止地图移动时,鼠标悬停在标记在谷歌地图API 3