2 votes

Clé api google comme variable

<script src="jquery.js"></script>

<script>
$.get('http://localhost/ajax_send_key.php',function (data){
    api_key = data;
});
</script>

<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?key= - my api key - &libraries=places">
// this one work

// src="https://maps.googleapis.com/maps/api/js?key={api_key}&libraries=places">
// Google Maps JavaScript API error: InvalidKeyMapError

// src="https://maps.googleapis.com/maps/api/js?key=" + api_key + "&libraries=places">
// TypeError: Cannot read properties of undefined (reading 'Autocomplete') at initialize

</script>

<script>
lat = '';
function initialize() { // google places wohl für ortseingabe und dann vorschläge
  var input = document.getElementById('in');
  var places = new google.maps.places.Autocomplete(input);
    google.maps.event.addListener(places, 'place_changed', function () {
       var place = places.getPlace();   
       var lat = place.geometry.location.lat();
    });     
    return (lat);
}   
window.addEventListener('load', initialize);
</script>

<html>
input
<input id='in' type = 'text' STYLE = 'width: 220px' ;></input>
</html>

Bonjour,

J'ai un problème avec ma clé Api, lorsque j'essaie de l'utiliser comme variable. Comment puis-je la mettre dans le fichier src="https://maps.googleapis.com/maps/api/js?key=" ?
Cela fonctionne s'il ne s'agit pas d'une variable.

merci georg

0voto

CertainPerformance Points 110949

Ne créez pas la balise script au chargement. Attendez que la réponse de la clé revienne avant de la créer, puis vous pourrez créer la balise src de manière appropriée. Vous devrez également attendre que le script de Google se charge avant d'appeler initialize .

$.get('http://localhost/ajax_send_key.php',function (data){
    const script = document.body.appendChild(document.createElement('script'));
    script.src = `https://maps.googleapis.com/maps/api/js?key=${data}&libraries=places`;
    script.addEventListener('load', initialize);
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X