Resume algunos de los "trampas" encontradas al jugar mapbox a lo largo de los años, espero que lo evites.

1. La mayoría de los métodos e interfaces solo se pueden llamar después de cargar el mapa . Por ejemplo, si carga una capa, debe llamar a map.addLayer(), pero este método debe estar en map.on('load', (e)=>{}). Lo que quiero decir aquí es cuando se llama sincrónicamente, es decir, cuando algunos métodos se ejecutan tan pronto como se carga la página, solo puede ejecutarlos después de que se carga el mapa, lo cual es realmente lamentable. Pero tal vez el funcionario también esté al tanto de este problema, brinda un valor para detectar si el mapa está cargado, puede pasar:

const isLoaded = map.loaded();

El valor de la variable isLoaded se usa para determinar si el mapa está cargado actualmente. Si está completo, puede ejecutar su código. Si no, puede esperar a que se cargue su mapa antes de ejecutarlo. Lo más importante es obtener el valor de esta variable También desechable. . . . No hace monitoreo, es decir, cada vez que lo usas, puedes usarlo y llamarlo ahora, si el mapa no está cargado, todavía no puedes hacer nada, es decir, no actualizará automáticamente este estado para decirle que el mapa está cargado. Se acabó, pero obtiene este valor una y otra vez para juzgar este valor. Es como el mensajero que te entrega el mensajero, y no sabe si se ha entregado, pero no te avisará de todos modos. Lo llamas de nuevo y le preguntas que no se ha entregado. todavía no ha sido entregado Llamé de nuevo y pregunté, y dijo que te lo había enviado hace mucho tiempo, por lo que no puedes obtener este estado automáticamente sin monitorear o actualizar automáticamente este estado. Esto es realmente un pozo. . .

2. La capa de la clase icon tiene un atributo llamado icon-all

おすすめ

転載: blog.csdn.net/lz5211314121/article/details/129191477