@maxprof
Студент

Почему некоректно отображаются карты Google Map?

Здравствуйте, скажите пожалуйста почему может быть такой вот серый фон у крат Google map?457a8fd10f60421bae50ad988fea2de4.PNG
Блок где выводиться карта:
<div id="map_canvas" style="width: 800px; height: 100%;"></div>

И скрипт:
function initialize_map( ) {
     var latlng = new google.maps.LatLng(49.25100320801442,28.541126489672024);
     var myOptions = {
     zoom: 18,
     center: latlng,
     mapTypeId: google.maps.MapTypeId.ROADMAP
     };
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    var polygonCoords = [
   	  new google.maps.LatLng(49.25156346163994,28.542151093515713),
   	  new google.maps.LatLng(49.25113626882619,28.542376399072964),
   	  new google.maps.LatLng(49.25074759018555,28.541657567056973),
   	  new google.maps.LatLng(49.25076509829823,28.54119622710641),
   	  new google.maps.LatLng(49.25100320801442,28.541126489672024)
   	 ];
   	 var polygon = new google.maps.Polygon({
   	  path: polygonCoords,
   	  strokeColor: "#5196DB",
   	  strokeOpacity: 1,
   	  strokeWeight: 2,
   	  fillColor: "#8ab9e7",
   	  fillOpacity: 0.5
   	 });
   	 polygon.setMap(map);   
   	 return map;
   }


Стили карты:
#modal_form {
  	width: 800px;
  	height: 800px;
  	background: #fff;
  	position: absolute;
  	z-index: 5;
  	padding: 0px 0px;
  	padding-top:45px;
  	bottom:40px;
  	top: 80px;
  	margin-left: 30%;
}
#modal_form #modal_close {
	width: 21px;
	height: 21px;
	position: absolute;
	top: 10px;
	right: 10px;
	cursor: pointer;
	display: block;
}
  • Вопрос задан
  • 2401 просмотр
Решения вопроса 2
miraage
@miraage
Старый прогер
1) Проверьте, чтобы не было стилей, связанных img в пределах контейнера с картой. натыкались на такие грабли.
2) Задайте фиксированную высоту блоку.
3) Перерисуйте карту. А так же, всегда вызывайте этот метод при изменении размеров окна (window resize).

google.maps.event.trigger(MapInstance,'resize')
Ответ написан
Комментировать
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
А вы проверьте высоту блока. Хоть с помощью средств браузера, хоть в скрипте поставьте
console.log(document.getElementById('map_canvas').offsetHeight);

Update: Поставьте инициализацию после построения DOM
document.addEventListener('DOMContentLoaded', initialize_map);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@vovastradamus
Я сам себе уже отвечал на подобный вопрос. Все из-за того, что карты загружаются при формировании страницы, и размер ставится меньше, потому карту нужно еще раз инициализировать.
Куски карты гугл в левом верхнем углу. Как отобразить карту на весь блок?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы