Hello !

J'essaie en vain de faire fonctionner mon application (AngularJS - Ionic V1.x) avec l'api Google mais impossible de faire ma requête...

   $http({
    method: 'get',
    url: 'https://maps.googleapis.com/maps/api/place/search/json?location=46.2030350,6.1522080&radius=500&types=restaurant&sensor=false&key=MY_KEY&callback=?'
    }).then(function successCallback(response,data) {
        console.log(data)
    }, function errorCallback(response) {
        console.log('nope')
    });

Avec cette requête j'ai un joli XMLHttpRequest cannot load donc j'ai lu à gauche et à droite d'utiliser JSONP mais apparemment l'api google ne le gère pas donc j'ai un autre message d'erreur.

Ensuite, j'ai pu voir qu'il faudrait apparemment passer par un serveur, mais il y a pas une possibilité de le faire via AngularJS - Ionic ?

C'est un comble quand même ^^

Merci d'avance

4 réponses


Ici un post qui explique comment activer l'entête CORS

fital
Auteur

Salut Huggy, merci de ta réponse, oui je sais comment activer l'entête cors sur mon serveur mais ici je contact directement googleapis.com et c'est là le soucis.

Pour que ça fonctionne le seul moyen que j'ai trouvé c'est de mettre l'url Google api sur mon serveur et depuis mon Ionic contacter mon serveur pour que lui contact googleapi.

Mais ce n'est pas pratique :/

As-tu essayé ceci ?

$http.defaults.useXDomain = true;

Que ce soit un mobile ou ton serveur, ils sont vus comme des clients par Google

fital
Auteur

Oui j'ai ajouté :

.config(function($httpProvider) {
    //Enable cross domain calls
    $httpProvider.defaults.useXDomain = true;
})

Dans mon fichier app.js mais ça n'a rien changé malheureusement.