Si vous avez déjà utilisé l’API de Google Maps, vous savez que vous devez générer une clé pour que cela fonctionne. Malheureusement, une clé est attachée à un et un seul domaine alors que certains sites se trouvent sur plusieurs domaines en même temps (ce qui est une erreur mais ça arrive) ou que certains sites disposent d’un serveur de test et un serveur de production.
Il faut donc ruser pour arriver à ses fins. Voici ce que je propose :
var key = '';
var current_url = window.location.host;
var urls = [
{url:"test-url.com",key:"xxxxx"},
{url:"prod-url.com",key:"yyyyy"}
];
var found = false;
for (var i=0;i<urls.length && !found; i++) {
if (current_url.indexOf(urls[i].url) > -1) {
key = urls[i].key;
found = true;
}
}
document.write('http://maps.google.com/maps?file=api&v=2&key='+key+'');
Il suffit de faire l’inclusion de ce fichier dans l’entête de votre fichier HTML et vous pourrez utiliser Google Maps sur une nombre illimité de domaines, à condition bien sûr de générer une clé pour chacun d’entre eux.
Pour rappel, comme l’explique Mike, inutile d’enregistrer une clé pour des sous-domaines. Si une clé est enregistrée pour un domaine, elle sera valable pour ses sous-domaines. Cela justifie l’emploi de la fonction indexOf().
Toute remarque est la bienvenue. Ce code a été écrit rapidement et n’est sans doute pas parfait !
il doit manquer un bout dans ta boucle (parsage du code?)
for (var i=0;i -1) <– non?
LikeLike
Ah oui ! C’est réglé !
LikeLike
I am extremely inspired along with your writing talents and also with the layout
to your weblog. Is that this a paid subject or did you customize it yourself?
Anyway stay up the excellent quality writing, it’s uncommon to peer a great blog like this one these days..
LikeLike