Skip to content

El Mapa Negro — Por Qué Leaflet

Durante el desarrollo de este módulo, el primer intento fue usar react-native-maps con tiles de OpenStreetMap. El código era correcto. La instalación era correcta. Pero al abrir la app en Expo Go… mapa negro. Completamente negro.

¿Por qué? Aquí es donde entra nuestro trabajo de investigación.

🔍 Anatomía del Bug

📦
react-native-maps se instala

La librería estándar parece ser la opción correcta.

⚙️
Expo Go carga la app

Expo Go ya tiene Google Maps precompilado.

💥
Conflicto silencioso

Sin API key, Google Maps bloquea el renderizado por seguridad.

Mapa negro

Tus tiles de OSM quedan ocultos detrás de una capa de error.

Para romper el bloqueo nativo de Google Maps en Expo Go, utilizaremos Leaflet.js corriendo dentro de un WebView.

LibreríaExpo GoAPI KeyCostoNivel
Google Maps SDK💰Producción
react-native-mapsGratisProducción
react-native-leaflet-viewGratisEducativo

Un WebView es como poner un televisor dentro de tu app. Tu app React Native es la habitación; el televisor (WebView) muestra una página web. Leaflet.js es la página web que se reproduce en ese televisor.

Los mapas no son una foto gigante. Se dividen en mosaicos llamados Tiles.

z6/x18/y35TILE
z6/x18/y35TILE
z6/x18/y35TILE
z6/x18/y35TILE
z6/x18/y35TILE
z6/x18/y35TILE
z6/x18/y35TILE
z6/x18/y35TILE
z6/x18/y35TILE

Mosaico de 256x256 píxeles que forman la imagen global.

Cada vez que te mueves, la app descarga los cuadrados necesarios. Este sistema {z}/{x}/{y} permite que el mapa cargue rápido incluso con conexiones lentas.