Ответ 1
После множества комбинаций ссылок, удаления и повторного создания учетных данных я понял, что я не включил "API JavaScript Карт Google". Какой позор.:)
Для тех, у кого возникли проблемы с работой google maps api, проверьте, включен ли API.
Я разрабатываю в JavaScript/HTML/CSS приложение, которое использует Карты Google. Я получаю следующее диалоговое окно предупреждения:
"Эта страница не смогла отобразить элемент Google Maps. Предоставленный ключ API Google недействителен или этот сайт не имеет права использовать его. Код ошибки: InvalidKeyOrUnauthorizedURLMapError"
Приложение действительно отображает элемент карты; предупреждение не является проблемой, за исключением того, что оно не должно появляться вообще. Карта отображается правильно.
Я зашел в Консоль разработчика Google и в разделе "Учетные данные" "отредактировал разрешенные источники" для mydomain.com/*
Я также зашел в Консоль разработчика Google в разделе API и включил 11 API Карт Google.
После множества комбинаций ссылок, удаления и повторного создания учетных данных я понял, что я не включил "API JavaScript Карт Google". Какой позор.:)
Для тех, у кого возникли проблемы с работой google maps api, проверьте, включен ли API.
После многого с этим вопросом я нашел 1 решение для меня. Это может помочь людям, которые ищут правильное и точное решение, но не комментарии, нисходящие и ссылки.
( Карта не отображалась в моем случае.)
Если предположим, ссылка на страницу, где вы загружаете карту, - это
http://example.com/abc/def/ghi/kpn.php
тогда дадим same(exactly the same)
при Edit allowed references
Если вы попытаетесь загрузить ту же страницу, используя:
www.example.com/abc/def/ghi/kpn.php
или
http://www.example.com/abc/def/ghi/kpn.php
тогда ваша страница будет загружена, но не ваша карта, и это предупреждение будет сгенерировано.
Заключение
Используйте тот же путь (адрес Url) в этих двух местах.
При загрузке страницы с картой.
В разделе Edit allowed references
.
После этого я избавился от этого предупреждения.
Сначала вам нужно перейти в https://console.developers.google.com/ и выбрать API.
В API Карт Google выберите API Карт Google Карт и убедитесь, что вы включили API для Google Maps JavaScript.
Во-вторых, вам нужно создать ключ API:
Итак, вы должны увидеть Any referrer allowed
после сохранения.
После долгих проб и ошибок это сработало для меня (Эдуардо. Спасибо!)
URL-адрес, который должен быть авторизирован, является адресом заголовка Referrer для запросов, которые браузер отправляет в Google для загрузки API.
В разделе Browser Credentials > REFERERS
Добавьте эти
geocodezip предоставил необходимую мне информацию. Я действительно дважды загружал библиотеку googlemaps: один раз в файл index.html и один раз в iFrame. Я изменил свой код, чтобы iFrame не загружал библиотеку googlemaps, а вместо этого использовал родителя. Спасибо geocodezip!
Перейдите в меню API и найдите "API JavaScript Google Maps" после того, как вы его открыли, просто нажмите "Включить API"
Мне удалось заставить это работать, удалив всех моих рефереров и разрешив все. По-видимому, в консоли разработчика есть ошибка, которая вызывает проблемы. Некоторые люди говорят, что они могут заставить рефереров работать, удалив все, а затем добавив все обратно, а не последовательно:
https://productforums.google.com/forum/#!topic/maps/mSVyDazRMQo
Предыдущие вещи, которые я пробовал:
Боковое примечание, когда я не включил свой api_key, все работало оштрафованным, хотя я уверен, что они в конечном итоге отключат вас, если вы не используете api_key.
Что сработало для меня, так это использовать Firebug, чтобы найти точный URL-адрес, который сделал запрос в API Карт Google. Как указано в документации API Карт Google в устранении неполадок авторизации, часть "Как найти правильный URL":
URL-адрес, который должен быть авторизирован, является адресом в заголовке Referrer для запросов, которые браузер отправляет в Google для загрузки API.
В моем случае давайте предположим, что у меня есть сайт example.com. В консоли разработчика под ключом API Карт Google я добавил много комбинаций реферера, таких как example.com/*
, *.example.com/*
, example.com
, но при этом сохранялся InvalidKeyOrUnauthorizedURLMapError
.
Мое решение, как я уже упоминал, использовать Firebug: откройте example.com и посмотрите, что запрос реферера сделал для https://maps.googleapis.com/maps/api/js?...
, и это было http://example.com
, и все. Я добавил http://example.com/*
к включенным URL-адресам в Консоли разработчиков под моим соответствующим ключом API, и теперь все работает нормально.
Важно знать, где искать Firebug: это вкладка Net
. Просто нажмите на запрос maps.googleapis ...
и найдите Referer
Я заработал, обменяв ключи своими собственными специальными клавишами и немного прочитав эту веб-страницу несколько раз. Мой совет заключается в том, чтобы добавить или обменять ключи API Google на https://console.developers.google.com/apis/credentials, прежде чем приступать к очень сложным сценариям.
Вставьте свои собственные ключи API в первую строку javascript Google Карт:
Если вы настроили всю конфигурацию, например, api key и т.д., и вы все еще получили ошибку, включите все обязательные API-интерфейсы, относящиеся к картам google.
Нравится: -
API для внедрения Google Maps
API геокодирования Google Maps
API геолокации Google Maps
API JavaScript для Google Карт