Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

156
Vistas
Ocultar HERE Map API Key para usar con el objeto del documento

Estoy haciendo una aplicación express que requiere un mapa. Estoy usando HERE Maps API para la versión estándar de javascript para representar el mapa. https://developer.here.com/documentation/examples/maps-js

Ya estoy usando el paquete dotenv para variables de entorno (puerto, host) en mi aplicación. Pero no sé cómo ocultar la clave API del mapa en el backend cuando necesito usar el objeto del document para representar el mapa. Actualmente, estoy usando un archivo config.js separado para almacenar la variable, pero la clave aún está visible en la interfaz.

En conclusión, puedo ocultar la clave API en el backend pero no puedo representar el mapa en el backend y puedo mostrar el mapa en el frontend pero no puedo ocultar la clave API en el frontend. ¿Cómo puedo ocultar la clave API y representar el mapa?

Mínimo, reproducible, ejemplo:-

Estructura del directorio raíz

 | public | config.js | map.js | views | index.pug | .env | index.js | package.json

índice.pug

 doctype html html head link(rel="stylesheet" href="https://js.api.here.com/v3/3.1/mapsjs-ui.css") script(src="https://js.api.here.com/v3/3.1/mapsjs-core.js") script(src="https://js.api.here.com/v3/3.1/mapsjs-service.js") script(src="https://js.api.here.com/v3/3.1/mapsjs-ui.js") script(src="https://js.api.here.com/v3/3.1/mapsjs-mapevents.js") script(src="config.js" defer) script(src="map.js" defer) body #map(data-lat=lat data-lng=lng)

config.js

 const config = { MAP_API_KEY: `${API_KEY}` }

mapa.js

 const mapEl = document.getElementById('map') const platform = new H.service.Platform({ apikey: config.MAP_API_KEY }) const defaultLayers = platform.createDefaultLayers() const map = new H.Map(mapEl, defaultLayers.vector.normal.map, { center: { lat: parseFloat(mapEl.dataset.lat), lng: parseFloat(mapEl.dataset.lng) }, zoom: 5, pixelRatio: window.devicePixelRatio || 1 }) window.addEventListener('resize', () => map.getViewPort().resize()) const behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(map)) const ui = H.ui.UI.createDefault(map, defaultLayers)
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Use cromo sin cabeza (tal vez titiritero) que carga solo el mapa, luego obtenga una captura de pantalla y use la captura de pantalla en su interfaz.

No puede representar un mapa en la interfaz sin una clave API. Tal vez debería considerar restringir el acceso a la API a dominios/ips específicos en su lugar.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda