Cómo usar CORS para implementar la solicitud de la API de JavaScript de Google Places
json google-api (1)
Está intentando utilizar el servicio web API de Google Places en el lado del cliente, mientras que está diseñado para aplicaciones del lado del servidor. Esa es probablemente la razón por la cual el servidor no establece los encabezados de respuesta CORS apropiados.
Como se explica en las Notas al comienzo de la documentación de Detalles del lugar , debe usar la Biblioteca de lugares en la API de JavaScript de Google Maps:
Si está creando una aplicación del lado del cliente, eche un vistazo a la API de Google Places para Android , la API de Google Places para iOS y la Biblioteca de lugares en la API de JavaScript de Google Maps .
Nota : primero deberá habilitar la API de JavaScript de Google Maps en su Consola de desarrollador de Google.
Aquí hay una forma de proceder para obtener detalles del lugar (según el ejemplo de la documentación ):
<head>
<script type="text/javascript">
function logPlaceDetails() {
var service = new google.maps.places.PlacesService(document.getElementById(''map''));
service.getDetails({
placeId: ''ChIJN1t_tDeuEmsRUsoyG83frY4''
}, function (place, status) {
console.log(''Place details:'', place);
});
}
</script>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAW4CQp3KxwYkrHFZERfcGSl--rFce4tNw&libraries=places&callback=logPlaceDetails"></script>
</head>
<body>
<div id="map"></div>
</body>
Realmente NO entiendo cómo se supone que debo hacer que esto funcione:
var requestURL = ''https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJN1t_tDeuEmsRUsoyG83frY4&key=AIzaSyAW4CQp3KxwYkrHFZERfcGSl--rFce4tNw'';
console.log(requestURL);
$.getJSON( requestURL, function( data ) {
// data
console.log(data);
});
y mi archivo HTML:
<body>
<script
src="https://code.jquery.com/jquery-2.2.4.min.js"
integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
crossorigin="anonymous"></script>
<script src="main.js" charset="utf-8"></script>
</body>
Siempre obtengo el encabezado No ''Access-Control-Allow-Origin'' está presente en el recurso solicitado. mensaje ... aunque vaya a https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJN1t_tDeuEmsRUsoyG83frY4&key=AIzaSyAW4CQp3KxwYkrHFZERfcGSl--rFce4tNw .
Me hacen creer que CORS puede ayudarme aquí. No entiendo CORS. Por favor, ¿alguien puede ayudarme en términos simples y simples? ¿Qué debería cambiar para que esto funcione?
Gracias