JavaScript - ayuda api de google

 
Vista:
sin imagen de perfil
Val: 1
Ha disminuido su posición en 38 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

ayuda api de google

Publicado por Marlon (1 intervención) el 06/06/2019 16:39:15
Hola muy buenas amig@s tengo un problema con la api de google, tengo estos dos scripts:

<script src="https://maps.googleapis.com/maps/api/js?key=API_KEY&callback=initMap" async defer>
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=API_KEY&libraries=places&callback=activeCities"></script>

el error es: included the Google Maps JavaScript API multiple times on this page. This may cause unexpected errors.

como puedo juntarlos dos en un solo script sin tener problemas porque en uno necesito libraries=places y en el otro no. alguna idea?
gracias de anteMano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de txema
Val: 71
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

ayuda api de google

Publicado por txema (23 intervenciones) el 07/06/2019 07:32:31
Hola Marion:
Entiendo que estás creando dos mapas en una misma página, ¿no?

El error que indicas es porque estás cargando dos veces la API de google maps.

Lo correcto es incluirlo una sola vez y, si en un o de ellos necesitas la librería places, la incluyes.

Yo lo haría así:
1
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places&callback=initMap" async defer></script>

Entendiendo el código:
YOUR_API_KEY sabes que debes sustituirlo por tu KEY obtenida para tu proyecto.
initMap() o cualquier otro nombre que quieras poner en callback= es el nombre de la función en la que ejecutarás el código para instalar el o los marcadores de uno o varios mapas mediante un ID exclusivo para cada mapa.

Para ejecutar la librería places sabes que debes construir la llamada a dicha librería mediante:este código dentro de la función (en este caso initMap())
1
2
3
4
5
6
7
service = new google.maps.places.PlacesService(map);
 
service.findPlaceFromQuery(request, function(results, status) {
    if (status === google.maps.places.PlacesServiceStatus.OK) {
        // Desarrollando lo que requieras de la librería
    }
});
La Búsqueda de lugares la realizas mediante .findPlaceFromQuery()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar