Иногда карта Google не загружается должным образом и не позволяет вставить маркер:
Это мой код для создания карты:
var companyCreateMap;
var companyCreateMapInitialZoom = 7;
function companyLoadInitialMap()
{
companyCreateGeocoder = new google.maps.Geocoder();
var companyCreateInitialLocation = new google.maps.LatLng(companyCreateMapInitialCenterLat, companyCreateMapInitialCenterLng);
var companyCreateMapOptions = {
center: companyCreateInitialLocation,
zoom: companyCreateMapInitialZoom,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
companyCreateMap = new google.maps.Map(document.getElementById(companyCreateMapCanvas), companyCreateMapOptions);
google.maps.event.addListener(companyCreateMap, 'click', updateMarkerCoordenatesOnClick);
companyCreateGetUserLocation();
}
function companyCreateGetUserLocation()
{
if (navigator.geolocation)
{
browserSupportFlag = true;
navigator.geolocation.getCurrentPosition(function (companyCreatePosition)
{
var companyCreateCenterLocation = new google.maps.LatLng(companyCreatePosition.coords.latitude, companyCreatePosition.coords.longitude);
companyCreateMap.setCenter(companyCreateCenterLocation);
companyCreateMap.setZoom(17);
companyCreateMarker = new google.maps.Marker({ position: companyCreateCenterLocation, map: companyCreateMap, animation: google.maps.Animation.DROP });
},
function (error)
{
// User did not accept to give location
//handleNoGeolocation(browserSupportFlag, error);
});
}
// Browser doesn't support Geolocation
else
{
browserSupportFlag = false;
//handleNoGeolocation(browserSupportFlag);
}
}
Это происходит не каждый раз, только время от времени, и я не получаю ошибок в консоли.
Есть идеи?
Вам нужно вызвать изменение размера карты, когда завершение затухания завершено.
$('#map-canvas').fadeIn(200, function() {
// Trigger a map resize
google.maps.event.trigger(map, 'resize');
});