Iniciar el cliente MapStore2 en modo de desarrollo

Prerrequisitos

  1. Necesitas una instancia de GeoNode en ejecución en algún lugar; en este ejemplo específico, asumimos que GeoNode se está ejecutando en :http://localhost:8000

Instalar los paquetes necesarios

sudo apt install nodejs npm

Preparar el código fuente

git clone --recursive https://github.com/GeoNode/geonode-mapstore-client.git geonode-mapstore-client-dev

Compilar el cliente MapStore2

cd geonode-mapstore-client/geonode_mapstore_client/client/
npm update
npm install
npm run compile

Editar el archivo env.json

vim env.json
{
    "DEV_SERVER_HOST": "localhost:8000",
    "DEV_SERVER_HOST_PROTOCOL": "http"
}

Ejecutar MapStore2 en modo de desarrollo

npm run start

Conectate a ::http://localhost:8081

Esta es una versión «proxy» de GeoNode del cliente MapStore2. Para cargar nuevas capas, utiliza el GeoNode original.

Cada vez que renderizas un mapa, desde la página de detalles de capas de GeoNode o la creación de mapas, accederás al código de ejecución del modo de desarrollo de MapStore2.

Ahora puedes actualizar el código sobre la marcha.

Ejemplo 1: Deshabilitar el complemento de impresión desde el mapa pequeño de Detalles de capa

vim js/previewPlugins.js
...
BurgerMenuPlugin: require('../MapStore2/web/client/plugins/BurgerMenu'),
ScaleBoxPlugin: require('../MapStore2/web/client/plugins/ScaleBox'),
MapFooterPlugin: require('../MapStore2/web/client/plugins/MapFooter'),
// PrintPlugin: require('../MapStore2/web/client/plugins/Print'),
TimelinePlugin: require('../MapStore2/web/client/plugins/Timeline'),
PlaybackPlugin: require('../MapStore2/web/client/plugins/Playback'),
...

Ejemplo 2: Deshabilitar el complemento MousePositionPlugin de los mapas grandes

vim js/plugins.js
...
SaveAsPlugin: require('../MapStore2/web/client/plugins/SaveAs').default,
MetadataExplorerPlugin: require('../MapStore2/web/client/plugins/MetadataExplorer'),
GridContainerPlugin: require('../MapStore2/web/client/plugins/GridContainer'),
StyleEditorPlugin: require('../MapStore2/web/client/plugins/StyleEditor'),
TimelinePlugin: require('../MapStore2/web/client/plugins/Timeline'),
PlaybackPlugin: require('../MapStore2/web/client/plugins/Playback'),
// MousePositionPlugin: require('../MapStore2/web/client/plugins/MousePosition'),
SearchPlugin: require('../MapStore2/web/client/plugins/Search'),
SearchServicesConfigPlugin: require('../MapStore2/web/client/plugins/SearchServicesConfig'),
...