Задать вопрос
@ligisayan

Как проверить есть ли необходимость загрузки google maps на странице?

Всем привет!

Есть динамически подгружаемая гугл карта, которая нужна только на странице контактов, а скрипт у меня подключен на всех страницах единый. При переходах по страницам периодически получаю такую ошибку:
You have included the Google Maps API multiple times on this page,


а если подключение скрипта maps.googleapis.com вывожу только на страницу контактов, то ошибка уже
google is not defined
,
хотя и в первом и во втором случае сама карта подгружается.

Как избавиться от ошибок?

<script defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyA3XfuMJJGzaU8TUItQM7XWD4esZdbpgtA"></script>
<div id="w3docs-map"></div>

function initialize() {
  var prop = {
    center: new google.maps.LatLng(51.508742, -0.120850),
    zoom: 5,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var map = new google.maps.Map(document.getElementById("w3docs-map"), prop);
}
google.maps.event.addDomListener(window, 'load', initialize);

#w3docs-map {
  width:500px;
  height:380px;
}
  • Вопрос задан
  • 59 просмотров
Подписаться 1 Средний 4 комментария
Решения вопроса 2
KickeRocK
@KickeRocK
FrontFinish
function initialize() {
var _map = document.getElementById("w3docs-map");
if(!_map.firstChild){
  var prop = {
    center: new google.maps.LatLng(51.508742, -0.120850),
    zoom: 5,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var map = new google.maps.Map(_map, prop);
}
}
Ответ написан
@ligisayan Автор вопроса
Ошибку
google is not defined

исключил, когда убрал в скрипте гугл карты async а оставил только defer
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы