我有一个非常特别的问题,我使用谷歌地图API在网络应用程序上渲染地图,地图占据了整个屏幕,就我想要的而言暂时。问题是它大部分时间都在Web应用程序上呈现,但有时它只是呈现"缩放栏"以及"卫星视图的按钮"和"地图视图"如果我刷新页面,它(可能)正常呈现。
这是我的JS
/*Define my latitude and longitud globals*/
var latitude;
var longitude;
/*
* Wait until everything (dependencies) has been loaded to the page
* running start to get the ball rolling
*/
$(document).ready(function() { start(); });
/*Bootstrap funct*/
function start() {
deviceLocation();
setMapSize();
loadScript();
}
function deviceLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(ok) {
latitude = ok.coords.latitude;
longitude = ok.coords.longitude;
}, function(error) {
console.log(error.message);
latitude = 40.013857;
longitude = -101.685508;
});
}
/* If geolocation not supported then we default to these coordinates */
else {
latitude = 40.013857;
longitude = -101.685508;
}
}
function setMapSize() {
windowHeight = $(window).height();
headerHeight = $('#header').height();
$('.indexMainContainer').css('height', (windowHeight - headerHeight));
}
function loadScript() {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&' +
'callback=initialize&key=AIzaSyB2M8upR6PVkuKckRYl4C_gQp2D9sHQTD8';
document.body.appendChild(script);
}
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(latitude,longitude),
zoom: 15
};
var map = new google.maps.Map(document.getElementById('map'),
mapOptions);
}
而且,html是:
<div id="map">
</div>
我对使用地理定位器进行异步坐标获取有一些怀疑,(可能需要花费太长时间才能提供坐标),但我不知道如何使其工作如果这是问题。
感谢先进的任何帮助。