检查谷歌地图是否可以访问Javascript
check if google maps can be reached Javascript
我正在使用phonegap开发一个移动应用程序。我想开发它的线上和线下版本。在在线版本中,应用程序连接到谷歌地图API,在离线版本中,它应该跳过加载地图,继续加载页面元素的其余部分。我如何检查连接到谷歌地图API。
我有以下函数来加载地图:
function initialize() {
var myLatlng = new google.maps.LatLng(98,-33);
var mapOptions = {
zoom: 11,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: 'marker'
});
var infowindow = new google.maps.InfoWindow({
content: "<div style='width:80px;'>Your Location</div>",
minWidth: 500
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
}
google.maps.event.addDomListener(window, 'load', initialize);
当我运行应用程序时,有互联网连接,它工作得很好,但当没有连接时,它给出错误"谷歌未定义",它也不加载页面。请告诉我如何检查连接。我试过用navigator。在线,但它是没有用的。谢谢!
#Option 1
既然你提到了PhoneGap
,我建议你使用网络连接API,这是由PhoneGap提供的。
帮助您快速检查网络状态,以及蜂窝网络信息。
#选项2
你可以简单地把@DaveS在这个答案中提到的检查
if (typeof google === 'object' && typeof google.maps === 'object') {
// Google maps loaded
initialize();
} else {
// Failed to load the Google Maps
}
你可以这样做:
<script type="text/javascript" onload="loaded()" src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script>
function loaded(){
//this will only execute if the page loads
}
相关文章:
- 如何从对象的原型方法访问JavaScript对象属性
- 如何在不知道关键字的情况下访问javascript对象值
- 可以't访问JavaScript函数范围中的变量
- 使用XPath样式访问Javascript JSON对象属性
- 访问javascript文件输入变量的值
- 如何访问Javascript代码中的rails变量
- jQuery.ajax()访问javascript循环中的beforeEnd局部变量
- 从Jade访问javascript库
- PHP/AAJAX-使用PHP中的$_FILES访问javascript文件数组
- 访问Javascript对象-Node.js的作用域问题
- 从HTML中的另一个文件访问javascript方法
- 存在其他参数时访问Javascript事件
- 如何使用Perl访问JavaScript驱动的网页内容
- 访问JavaScript对象中的方法
- 访问 JavaScript 数组值
- 如何在 setinterval 函数中访问 javascript 数组值
- 在 Java 中访问 JavaScript 对象的字段
- 使用传递给函数的值访问 JavaScript 数组
- 使用相同的名称访问Javascript属性
- 无法访问javascript中二维数组中的第二个字段