Карта Google Map API есть, но отключена - PullRequest
2 голосов
/ 23 февраля 2012

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

вот сайт http://people.rit.edu/~ctn9382/536/assignment3/

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

Ответы [ 4 ]

14 голосов
/ 23 февраля 2012

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

google.maps.event.trigger(map, 'resize');

Так как вы инициализируете карту, когда div скрыт, он не может понять, насколько велик сам по себе, поэтому вам нужно заставить его снова проверить размер. По этой же причине, по словам Даана, она исправляется при открытии консоли разработчика, поскольку она изменяет размер окна, которое запускает событие resize.

2 голосов
/ 04 февраля 2013

У меня это работает так:

var map;
function initialize() {
var pos = new google.maps.LatLng(<%=@listing.lat%>, <%=@listing.lng%>);
var mapOptions = {
  zoom: 15,
  center: pos,
  mapTypeId: google.maps.MapTypeId.ROADMAP,
};
map = new google.maps.Map(document.getElementById('listing_map'),
    mapOptions);
var marker = new google.maps.Marker({
    position: pos,
    map: map
});
google.maps.event.trigger(map, 'resize');
}

Теперь, когда вы переключаете вкладки, используйте setTimeout для задержки инициализации карты:

<a href="" onclick="setTimeout(function(){ initialize() }, 100);">
1 голос
/ 23 февраля 2012

Мне кажется, что апплету карты не было "сказано" заполнить контейнер.Без примеров кода я не могу предложить конкретные изменения, но я предлагаю вам взглянуть на стиль CSS для апплета карты.Вам может потребоваться установить ширину и высоту определенного размера (ширину и высоту контейнера), или это может быть так же просто, как сказать ему занять 100% доступного пространства.

Удачи вам.

0 голосов
/ 04 апреля 2012

У меня была такая же проблема, она была исправлена, хотя благодаря некоторым полезным людям здесь на форуме.

Решил мою проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...