Я открываю формулу редактирования в jQuery Facebox. И под этой формулой есть карта Google, которая указывает геокодером положение данного адреса с помощью маркера.
К сожалению, карта не отображается в лицевой панели. На моей обычной странице все работает отлично. Странно то, что я могу видеть часть карты на короткое время, затем она становится серой (как фон).
Я нашел несколько постов, в которых говорится, что я должен прикрепить карту после события afterReveal для facebox, например
$(document).bind("afterReveal.facebox", function(){
var center = new google.maps.LatLng(Globals.DEFAULTLAT, Globals.DEFAULTLNG)
var options = {
panControl: false,
zoomControl: true,
zoomControlOptions: {
style: google.maps.ZoomControlStyle.SMALL,
position: google.maps.ControlPosition.TOP_CENTER
},
scaleControl: false,
streetViewControl: false,
mapTypeControl: false,
zoom: 12,
center: center,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var venue_map = new google.maps.Map($("#venue_map")[0], options);
// google.maps.event.trigger(venue_map, 'resize');
});
В другом сообщении говорилось, что нужно инициировать событие изменения размера на месте (google.maps.event.trigger(venue_map, 'resize')
, но это тоже не работает.
#venue_map
имеет фиксированную ширину и высоту 400 пикселей. Я также играл с z-индексом div, не повезло.
Надеюсь, кто-нибудь может мне помочь,
спасибо, смокинг
[Edit:]
Вот скриншот сломанной карты. Он загружает логотип Google Maps, текст Условия использования и небольшую полосу слева. Серый фон - это мой фейсбокс.
[Edit2:]
Это будет странно. Иногда карта отображается так: