2013-09-24 3 views
0

Карта Google на моем сайте больше не отображается. Я могу видеть слайдер увеличения/вывода, кнопки карты/спутника и т. Д., Но сама карта больше не появляется. Я где-то читал, что карта должна быть в теге div с меткой «карта» с высотой и шириной, указанными в CSS. Карта всегда имела свойства CSS ширины и ширины, но идентификатор был помечен по-разному. Я изменил идентификатор на карту и соответствующий CSS, но карта по-прежнему не будет отображаться. Я читал в другом месте, что плагин Google Analytics от Yoast также вызывает подобные ошибки. Я отключил все плагины, а затем один за раз, когда я активировал их, чтобы узнать, может ли быть проблема с другим плагином. Однако, похоже, что ни один из запущенных плагинов не влияет на отображение карты.Карта Google не отображается на веб-сайте. Элементы управления показывают, но сама карта не отображается

Я - веб-дизайнер с некоторыми знаниями HTML/CSS. Я разработал этот сайт и нанял парня, чтобы закодировать его в специальную тему Wordpress для меня. Как я уже сказал, карта показывала только хорошо, но больше не делает, и я понятия не имею, почему. Я мог бы использовать некоторую помощь, чтобы понять это. Я пытаюсь узнать больше о кодировании, поэтому в будущем я могу отлаживать и исправлять такие вещи самостоятельно. Немного помощи было бы очень полезно!

Вот ссылка на страницу с картой: http://seegerlaw.com/contact-us/

Пожалуйста, дайте мне знать, если вам нужна любая другая информация от меня.

+1

fyi, лучше добавить соответствующие фрагменты кода как часть вопроса, а не добавить ссылку –

+0

Просмотр источника вашей страницы, ваш скрипт Google Maps не имеет ключа API. Обычно это требуется. В настоящее время у вас есть «http://maps.googleapis.com/maps/api/js?sensor=false». Проверьте https://developers.google.com/maps/documentation/javascript/tutorial#api_key –

+0

Ключ API не требуется для API v3 (рекомендуется, однако, так как он позволяет контролировать использование и приобретать дополнительную квоту если необходимо). – geocodezip

ответ

1

Вы используете недокументированные поля:

function initialize() { 
    geocoder = new google.maps.Geocoder(); 
    codeAddr(function(lat, lng) { 
     myLatlng = new google.maps.LatLng(lat,lng); 
     var mapOptions = { 
      zoom: 15, 
      center: myLatlng, 
      disableDefaultUI: false, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     } 
     var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions); 
     var marker = new google.maps.Marker({ 
      position: myLatlng, 
      map: map 
     }); 
    }); 
} 

function codeAddr(callback) { 
    if (geocoder) { 
     geocoder.geocode({ 'address': address }, function (results, status) { 
     if (status == google.maps.GeocoderStatus.OK) { 
      console.log(results[0].geometry); 
      maps_lat = results[0].geometry.location["kb"]; 
      maps_lng = results[0].geometry.location["lb"]; 
      callback(maps_lat, maps_lng); 
     } 
     else { 
      console.log("Geocoding failed: " + status); 
     } 
     }); 
    } 
} 

Используйте lat() и lng() свойства LatLng получить их значения.

Даже лучше, просто пройти в LatLng непосредственно от геокодировщиком к объекту MapOptions:

codeAddr(function(latLng) { 
    var mapOptions = { 
     center: latLng, 
     ... 
    }; 
    ... 
}); 

callback(results[0].geometry.location); 

Еще лучше - кажется, что вы всегда геокодировать тот же адрес - просто жёстко в LatLng в свой код.

+0

Извините, я не кодировал это изначально, и мои знания по кодированию минимальны. Не могли бы вы предоставить мне некоторый пример кода с теми изменениями, которые вы предложили? Кроме того, почему карта ранее работала, а затем вдруг перестала отображать карту, когда никаких изменений в исходный код не было сделано? – popflier

+0

Код перестает работать, поскольку код использует недокументированные (и, следовательно, неподдерживаемые) аксессоры. Я предоставил образец кода. Stack Overflow здесь не для того, чтобы написать весь ваш код для вас. –

+0

Если вы читаете мой оригинальный пост, вы увидите, что я пытаюсь ПОНИМАТЬ и УЧИТЬ, как исправить этот код. Я не прошу вас написать свой код для меня. Я попросил образец, чтобы я мог видеть предложения, которые вы делали, потому что, честно говоря, ваш ответ не помогает никому, кто ранее заявлял, что он имеет только минимальное знание кодирования HTML/CSS, что явно не так. Если бы я хотел, чтобы кто-то написал мне мой код, я бы нанял кого-то. Если бы я хотел, чтобы кто-то только заботился о том, чтобы сгибать свои мускулы, чтобы показать всем, насколько они потрясающие, тогда вы явно являетесь парнем на работе. – popflier

Смежные вопросы