Quería mostrar un cuadro de búsqueda en HERE Maps solo después de que la vista de mapas se haya cargado por completo. ¿Hay alguna variable o evento para detectar cuando se carga el mapa?
Puedes lograrlo por evento
vista del mapacambiofin
Evento activado cuando finalizan los cambios en la vista de mapa actual: https://developer.here.com/documentation/maps/3.1.30.3/api_reference/H.Map.html#event:mapviewchangeend
Simplemente ajuste la definición del evento 'mapviewchangeend' en window.onload como:
/** * Moves the map to display over Berlin * * @param {H.Map} map A HERE Map instance within the application */ function moveMapToBerlin(map){ map.setCenter({lat:52.5159, lng:13.3777}); map.setZoom(14); } /** * Boilerplate map initialization code starts below: */ //Step 1: initialize communication with the platform // In your own code, replace variable window.apikey with your own apikey var platform = new H.service.Platform({ apikey: window.apikey }); var defaultLayers = platform.createDefaultLayers(); //Step 2: initialize a map - this map is centered over Europe var map = new H.Map(document.getElementById('map'), defaultLayers.vector.normal.map,{ center: {lat:50, lng:5}, zoom: 4, pixelRatio: window.devicePixelRatio || 1 }); // add a resize listener to make sure that the map occupies the whole container window.addEventListener('resize', () => map.getViewPort().resize()); //Step 3: make the map interactive // MapEvents enables the event system // Behavior implements default interactions for pan/zoom (also on mobile touch environments) var behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(map)); // Create the default UI components var ui = H.ui.UI.createDefault(map, defaultLayers); const mapReady = (e) => { map.removeEventListener("mapviewchangeend", mapReady); alert("map ready!"); } // Now use the map as required... window.onload = function () { map.addEventListener("mapviewchangeend", mapReady); moveMapToBerlin(map); }Ejecute este código: https://jsfiddle.net/yvj04Lb6/
Por el evento 'mapviewchangeend' la vista de mapas se carga por completo. Pero puede notar que la representación WEBGL aún no ha terminado: la API JS no tiene un evento como 'renderingend'.
Otro ejemplo de mosaicos de mapas ráster: https://jsfiddle.net/ad5f2xuz/ , donde la representación finaliza más rápido.