2017-07-19 1 views
-1

J'essaie de faire une demande d'obtention de ma machine localhost (Et mon application restera sur localhost) pour obtenir des informations sur un lieu.Google Places API cors

Toutefois, l'API Google Places et/ou mon Chrome ne me permettent pas de faire cette demande en raison de CORS (XMLHttpRequest cannot load https://maps.googleapis.com/maps/api/place/details/json?placeid=[placeid]&key=[key]. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.).

Existe-t-il un moyen (sans plugin CORS Chrome) d'accéder à l'API Google Places?

Je suis juste en utilisant une simple requête GET en Javascript avec vue2 & Vue ressource:

this.$http.get(`https://maps.googleapis.com/maps/api/place/details/json?placeid=${googleplacesPlace}&key=${googleplacesToken}`).then(response => { 
}) 

Répondre

0
const PROXY_URL = 'https://cors-anywhere.herokuapp.com/'; 
const TARGET_URL = 'https://maps.googleapis.com/maps/api/place/autocomplete/json?&key=KEY' 
const URL = PROXY_URL + TARGET_URL 

vous pouvez utiliser pour contourner CORS.

+0

même problème pour moi, résoudre avec Maps API Javascript Googpe ainsi: var demande = { lieu: google.maps.LatLng (lat, lng), // carte gogle latlng rayon Objet : '5000', types: ['aéroport'] }; let service = new google.maps.places.PlacesService (this.map); service.nearbySearch (demande, this.Fncallback); } Fncallback (résultats, état) { si (état == google.maps.places.PlacesServiceStatus.OK) {var pour (i = 0; i

1

Même problème pour moi, résolu avec l'API Javascript Google Maps de cette façon: Au lieu d'utiliser l'API directe avec ne pas accepter CORS, utilisez instene de google map (new google.maps.places ...)

var request = { 
    location: new google.maps.LatLng(lat, lng), // gogle map latLng objet 
    radius: '5000', 
    types: ['airport'] 
}; 

let service = new google.maps.places.PlacesService(this.map); 
service.nearbySearch(request, this.Fncallback); 
    } 

Fncallback(results, status) { 
    if (status == google.maps.places.PlacesServiceStatus.OK) { 
    for (var i = 0; i < results.length; i++) { 
     var place = results[i]; 
    } 
} 
}