Вставить пользовательскую карту Google в блок кода Squarespace - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь создать карту Google с настраиваемыми значками и всплывающими окнами на сайте Squarespace, и не могу отобразить карту с помощью API JavaScript Javascript для Карт из-за блокировки перекрестного запроса.Какой самый простой способ разрешить запросы из разных источников в API Google Maps Javascript?

Я следовал инструкциям по размещению пользовательских всплывающих окон на карте, указанной [здесь] (https://developers.google.com/maps/documentation/javascript/examples/overlay-popup), но когда я пытаюсьдля создания карты я получаю сообщение об ошибке, в котором говорится, что запрос был отклонен политикой CORS. Я искал эту проблему и нашел возможное решение с использованием файлов .htaccess, но похоже, что режим разработчика Squarespace не позволяет создавать / редактироватьФайлы .htaccess.

Я загружаю API Карт Google с тегом скрипта в блоке кода следующим образом:

<script async defer
        src="https://maps.googleapis.com/maps/api/js?key=MY_API_KEY&callback=initMap">
</script>
<div id="map"></div>

И функция initMap, где я пытаюсь загрузить карту, выглядит следующим образом:

function initMap() {
  map = new google.maps.Map(document.getElementById("map"), mapOptions);
// Code to implement Popup class...
}

Я ожидал, что вызов конструктора 'google.maps.Map' создаст карту и отобразит ее в моем блоке кода Squarespace, но все, что отображается, это пустой div. Консоль даетмне следующее сообщение об ошибке:

Доступ к XMLHttpRequest в 'https://www.google.com/maps/d/gen204?cid=mme&_reqid=50029&rt=j' из источника' null 'был заблокирован политикой CORS: Ответ to предварительный запрос не проходит проверку контроля доступа: в запрашиваемом ресурсе отсутствует заголовок «Access-Control-Allow-Origin».

...