Как я могу исправить Google Maps API V3 от отображения в виде серого поля? - PullRequest
8 голосов
/ 30 апреля 2011

Когда я ищу близлежащие местоположения на сайте, я работаю над результатами, отображаемыми в списке, но область карты просто затеняется, иногда она возвращается, но затем исчезает.

любая помощь будет принята с благодарностью

Ответы [ 4 ]

5 голосов
/ 30 апреля 2011

Это ответ на ваш вопрос по первому ответу.Его идея верна в том, что вам нужно инициализировать его с помощью местоположения, прежде чем что-либо станет видимым.Также обратите внимание, что это вопрос о V3, первый ответ касается синтаксиса V2.Пожалуйста, попробуйте код ниже, используя ту же идею, что и сообщение v2.

Установите значение центра в опциях карты с вашим исходным местоположением.Вы также можете отрегулировать увеличение здесь.

var mapOptions = {
      zoom: 12,
      mapTypeId: google.maps.MapTypeId.ROADMAP,
      center: new google.maps.LatLng(latitude, longitude)
    };
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
2 голосов
/ 11 декабря 2014

В v3 проверьте, что ваши Lat и Lng в порядке и не являются "неопределенными".

console.log(results[0].geometry.location.k);
console.log(results[0].geometry.location.D);

var mapOptions = {
    zoom: 15,
    center: new google.maps.LatLng(
        results[0].geometry.location.k, 
        results[0].geometry.location.D
    )
};
map = new google.maps.Map(document.getElementById('map-canvas'),mapOptions);
1 голос
/ 01 мая 2017

Время инициализации важно.Является ли карта видимой в момент загрузки страницы, или она появляется / исчезает / (независимо от того, что изменит состояние с невидимого на видимое)?

Если карта скрыта в момент инициализации,карта будет серой.

0 голосов
/ 30 апреля 2011

Основываясь на моем опыте работы с картами Google, иногда серые пятна появляются, когда нет доступных данных карты в месте, которое вы просматриваете в данный момент (особенно, когда коэффициент масштабирования высок), или когда у вас медленное интернет-соединение, чтобы данные карты загружались / не работали долго!

Но другие факторы также могут быть причиной - может быть.

Когда вы инициализируете свою карту, скажем, например:

var map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(new GLatLng(37.4419, -122.1419), 13);

параметр секунд для map.setCenter является коэффициентом масштабирования - в данном случае 13.

Вы также можете установить новый уровень масштабирования для карты следующим образом:

map.setZoom(5);

Читать подробнее здесь ...

...