web-dev-qa-db-fra.com

API Google Maps sans clé?

Comment utilisez-vous l'API Google Maps v3 sans la clé? Je l'ai vu dans cet exemple mais je ne peux pas comprendre ce qui le cause spécifiquement pour qu'il ne soit pas erroné.

Edit: Si quelqu'un le suggère, les autres réponses à ce sujet sur StackOverflow sont obsolètes et ne sont plus applicables.

17
CoryG

En effet, le lien que vous avez posté http://www.birdtheme.org/useful/v3largemap.html fonctionne sans clé (il y a juste un avertissement dans la console) . On dirait que Google est en liste blanche de certains noms de domaine pour permettre l'utilisation de l'API sans clé.

J'ai essayé d'utiliser l'API Google Maps v3 pour afficher les mosaïques OpenStreetMap, mais cela produisait une "erreur d'API Google Maps: MissingKeyMapError" sur mon hôte local alors qu'il travaillait sur ce site sans clé d'API: http://harrywood.co.uk /maps/examples/google-maps/apiv3.html

Sur la plupart des sites Web qui n'utilisent pas de clé API, une erreur empêche l'utilisation de Google Maps, mais vous pouvez contourner cette censure.

Solution si vous ne possédez pas le serveur utilisant l'API Google Maps sans clé:

Bloquez la requête HTTP qui envoie l'erreur avec un addon comme AdBlockPlus et la règle http://maps.googleapis.com/maps/api/js/AuthenticationService.Authenticate?*

Cela vous donnera accès aux vignettes, marqueurs, infoWindow popup de l'API Google Maps ... Mais si vous souhaitez utiliser l'API de géocodage, vous devez également remove your HTTP referer header avec un addon de navigateur tel que "Modifier les en-têtes".

Solution à ajouter à votre page Web pour que tous les visiteurs puissent accéder à l'API Google Maps sans clé:

Vous trouverez ci-dessous un code JavaScript que j'ai créé pour utiliser l'API Google Maps V3 sans clé et ignorer le message d'erreur.

// hack Google Maps to bypass API v3 key (needed since 22 June 2016 http://googlegeodevelopers.blogspot.com.es/2016/06/building-for-scale-updates-to-google.html)
var target = document.head;
var observer = new MutationObserver(function(mutations) {
    for (var i = 0; mutations[i]; ++i) { // notify when script to hack is added in HTML head
        if (mutations[i].addedNodes[0].nodeName == "SCRIPT" && mutations[i].addedNodes[0].src.match(/\/AuthenticationService.Authenticate?/g)) {
            var str = mutations[i].addedNodes[0].src.match(/[?&]callback=.*[&$]/g);
            if (str) {
                if (str[0][str[0].length - 1] == '&') {
                    str = str[0].substring(10, str[0].length - 1);
                } else {
                    str = str[0].substring(10);
                }
                var split = str.split(".");
                var object = split[0];
                var method = split[1];
                window[object][method] = null; // remove censorship message function _xdc_._jmzdv6 (AJAX callback name "_jmzdv6" differs depending on URL)
                //window[object] = {}; // when we removed the complete object _xdc_, Google Maps tiles did not load when we moved the map with the mouse (no problem with OpenStreetMap)
            }
            observer.disconnect();
        }
    }
});
var config = { attributes: true, childList: true, characterData: true }
observer.observe(target, config);

Cela vous donnera accès aux vignettes, marqueurs, infoWindow popup de l'API Google Maps .... Pour l'API de géocodage, vous devez également supprimer votre référent HTTP à l'aide de la balise méta HTML ci-dessous.

<meta name="referrer" content="no-referrer"> <!-- don't send HTTP referer for privacy purpose and to use Google Maps Geocoding API without key -->
15
baptx

Une clé est maintenant requise . Auparavant, cela n'était pas obligatoire et les sites qui utilisaient l'API sans clé avant le 22 juin 2016 ont bénéficié d'une clause de droits acquis pour leur permettre de continuer à fonctionner.

Voir cet article de blog pour plus d'informations (texte pertinent ci-dessous):

À compter du 22 juin 2016, nous apportons les modifications suivantes au plan standard des API Google Maps:

  1. Nous ne prenons plus en charge l'accès sans clé (toute demande n'incluant pas de clé API). Les futures mises à jour du produit ne sont disponibles que pour les demandes effectuées avec une clé API. Les clés API nous permettent de contacter les développeurs lorsque cela est nécessaire et nous aident à identifier les implémentations défectueuses.
  2. Nous avons implémenté une limite gratuite simple de 25 000 chargements de cartes par jour pour les nouvelles implémentations des API Google Maps JavaScript, des API Static Maps et des API Street View Image. La période de grâce complexe de 90 jours consécutifs pour ces API sera supprimée le 12 octobre 2016. Grâce à ce changement, les développeurs peuvent planifier leur croissance de manière prévisible, tandis que les sites de médias et les organisations à but non lucratif américaines peuvent demander gratuitement davantage de quota via nos programmes de support dédiés.
  3. Nous avons réduit de 1 000 000 à 100 000 requêtes par API la limite journalière maximale de chargement de cartes que vous pouvez acheter pour l'API JavaScript Google Maps, l'API Static Maps et l'API Street View Image. * Nous pensons que les développeurs de volumes plus importants sont mieux servis avec une licence de plan Premium. , qui comprend un support technique et un contrat de niveau de service. Grâce à cette modification, nous avons également créé une cohérence entre les quotas du plan standard de nos cartes et de nos API de service Web.
  4. Nous comptons maintenant les demandes côté client de l'API JavaScript Google Maps dans la limite quotidienne de l'API de service Web associé. *

Les nouvelles stratégies s'appliqueront immédiatement à toutes les implémentations de l'API Maps créées à compter du 22 juin 2016.

Les applications existantes ont bénéficié d'une clause de droits acquis en fonction de leur utilisation actuelle afin de garantir leur fonctionnement actuel et futur. Nous contacterons également de manière proactive tous les utilisateurs clés d'API existants qui, en fonction des modèles de croissance de l'utilisation, pourraient être affectés à l'avenir. Si vous êtes un utilisateur existant, prenez le temps de lire notre récapitulatif Mise à jour de stratégie pour le plan standard pour plus d'informations sur les conséquences de chacune de ces modifications sur votre implémentation.

24
geocodezip

À compter du 11 juin 2018, vous ne pourrez plus utiliser l'API Google Maps sans clé.

la source

7
Ted

Je suis en mesure de mettre l'indicateur d'emplacement sur des sites Web sans clé API ni code javascript

J'utilise Fancybox pour afficher très facilement une boîte modale Google Maps.

<head>
<script src="//code.jquery.com/jquery-3.3.1.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/[email protected]/dist/jquery.fancybox.min.css" />
<script src="https://cdn.jsdelivr.net/gh/fancyapps/[email protected]/dist/jquery.fancybox.min.js"></script>
</head>


<body>
<a data-fancybox="" data-options="{&quot;iframe&quot; : {&quot;css&quot; : {&quot;width&quot; : &quot;80%&quot;, &quot;height&quot; : &quot;80%&quot;}}}" href="https://www.google.com/maps/search/?api=1&amp;query=centurylink+field" class="btn btn-primary">Open Modal Map</a>
</body>
0
hullabaloon