как мне исправить отображение Google maps api v3 в виде серого прямоугольника?

#google-maps

#google-карты

Вопрос:

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

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

Ответ №1:

Это ответ на ваш вопрос в первом ответе. Его идея верна в том, что вам нужно инициализировать его местоположением, прежде чем что-либо станет видимым. Также, пожалуйста, обратите внимание, что это вопрос о версии 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:

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

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

Ответ №3:

В версии v3 проверьте, что ваши широта и 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);
  

Ответ №4:

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

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

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

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

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

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

 map.setZoom(5);
  

Подробнее читайте здесь …

Комментарии:

1. где установлен коэффициент масштабирования rteh?