es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

API de mapas HERE de JavaScript: no se muestra al cargar la página, solo al hacer clic en un botón.

El mapa de HERE no se carga al cargar la página, solo muestra el logo y los derechos de autor de HERE, pero se carga con una función al hacer clic en un botón. El código a continuación está ligeramente adaptado de la documentación de HERE (https://developer.here.com/documentation/maps/3.1.30.3/dev_guide/topics/map-controls-ui.html). Quiero que el mapa se cargue con la página, no después de hacer clic en un botón. ¿Qué me falta?

$(function() {
let platform = new H.service.Platform({
‘apikey’: api_key
});

loadMap ({
    lat: <?php echo round($obj->getLatitude(), 4); ?>,
    lng: <?php echo round($obj->getLongitude(), 4); ?>
});

function loadMap (position) {
    let defaultLayers = platform.createDefaultLayers();

    let map = new H.Map(
        document.getElementById('map'),
        defaultLayers.vector.normal.map,
        {
            zoom: 16,
            center: position,
        }
    );
});

});

[EDIT]
He estado luchando durante días tratando de averiguar por qué el mapa no se cargaba con el ejemplo de código básico. ¡Y accidentalmente cerré la consola de desarrollo del navegador y el mapa apareció de repente! ¿Qué diantres? …

Así que el problema es que el mapa no aparecerá al cargar la página hasta que se redimensione la ventana. Entonces, ¿qué puedo hacer para que el mapa aparezca?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que hay un problema con el tamaño del contenedor de mapas al cargar la página. Una solución para que aparezca el mapa sería utilizar el método resize proporcionado por la API de HERE Maps. Puede intentar agregar el siguiente código después de crear el mapa:

    map.getViewPort().resize();
    

    Esto debería desencadenar una redimensión del contenedor de mapas y, con suerte, hacer que aparezca el mapa. Si esto no funciona, también puede intentar establecer una altura fija para el contenedor de mapas en su CSS para asegurarse de que tenga un tamaño definido al cargar la página.

Comments are closed.