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 à l'erreur.

Modifier: dans le cas où quelqu'un le suggère, les autres réponses sur ce sujet sur StackOverflow sont obsolètes et ne sont plus applicables.

En effet, le lien que vous avez posté http://www.birdtheme.org/useful/v3largemap.html fonctionne sans clé (il n'y a qu'un avertissement dans la console). Il semble que Google soit une liste blanche de noms de domaine permettant d'utiliser l'API sans clé.

J'ai essayé d'utiliser l'API Google Maps v3 pour afficher les mosaïques OpenStreetMap, mais il produit une «erreur Google Maps API: MissingKeyMapError» sur mon localhost alors qu'il fonctionne sur ce site sans clé 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 à l'aide de l'API Google Maps sans clé:

Bloquez la requête HTTP en envoyant 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 mosaïques de l'API Google Maps, aux marqueurs, au popup infoWindow … Mais si vous souhaitez utiliser l'API de géocodage, vous devez également remove your HTTP referer header avec un complément de navigateur comme "Modifier les en-têtes".

Solution à ajouter dans votre page Web afin que chaque visiteur puisse accéder à l'API Google Maps sans clé:

Voici un piratage JavaScript que j'ai créé pour utiliser Google Maps API V3 sans clé et contourner 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 mosaïques de l'API Google Maps, aux marqueurs, au popup infoWindow … Pour l'API de géocodage, vous devez également supprimer votre référencement HTTP avec la méta-graphique 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 --> 

Une clé est maintenant requise . Auparavant, il n'était pas nécessaire et les sites qui utilisaient l'API sans clé avant le 22 juin 2016 ont été ouverts pour leur permettre de continuer à fonctionner.

Voir cette publication sur le blog pour plus d'informations (texte pertinent ci-dessous):

Au 22 juin 2016, nous apportons les modifications suivantes au plan standard de l'API Google Maps:

  1. Nous ne supportons plus l'accès sans clé (toute requête qui ne comporte pas de clé API). Les mises à jour des produits futurs ne sont disponibles que pour les demandes effectuées avec une clé API. Les clés de l'API nous permettent de contacter les développeurs au besoin et de nous aider à identifier les implémentations mal comportées.
  2. Nous avons mis en place une limite gratuite de 25 000 cartes carrées par jour aux nouvelles API de Google Maps JavaScript, Static Maps API et Street View Image API. Le délai de grâce confondant de 90 jours consécutifs pour ces API est en retraite le 12 octobre 2016. Grâce à ce changement, les développeurs peuvent prédire de façon prévisible la croissance, tandis que les sites médiatiques et les organismes sans but lucratif américains peuvent demander plus de quota sans frais via nos programmes de support dédiés.
  3. Nous avons réduit la limite maximale de charge cartographique quotidienne que vous pouvez acheter pour l'API JavaScript Google Maps, l'API Static Maps et l'API Street View Image de 1 000 000 à 100 000 requêtes par API. Nous croyons que les développeurs à plus haut niveau sont mieux servis avec une licence Premium Plan , Qui comprend un support technique et un accord de niveau de service, et avec cette modification, nous avons également créé une cohérence entre les quotas de plan standard dans nos cartes et nos API de service Web.
  4. Nous comptons maintenant les applications côté client Google Maps JavaScript API vers la limite quotidienne de l'API de service Web associée. *

Les nouvelles règles s'appliqueront immédiatement à toutes les implémentations de l'API Maps créées à partir du 22 juin 2016.

Les applications existantes ont été intégrées en fonction de leur utilisation actuelle afin de continuer à fonctionner à la fois maintenant et dans le futur. Nous allons également contacter de manière proactive tous les utilisateurs de clés API existants qui, en fonction des modèles de croissance de l'utilisation, pourraient être touchés à l'avenir. Si vous êtes un utilisateur existant, prenez le temps de lire notre résumé de la mise à jour de la politique pour le plan standard pour plus de détails sur la façon dont chacun de ces changements pourrait affecter votre implémentation.