#OpenLayers?
rover 0.10.0 [updated]

Interactive maps for Phoenix LiveView, powered by OpenLayers. Assign a list of markers, get a live map — no OpenLayers knowledge required.

Licenses: MIT
November 3, 2026 at 7:30 PM
Sabías que puedes integrar gráficos #interactivos de #Plotly en tus mapas de #OpenLayers?

Con nuestra guía paso a paso y con código, convierte tus datos en una experiencia visual atractiva. Descubre cómo aquí:

 
Cómo Integrar Gráficos Interactivos de Plotly con OpenLayers
Aprenderemos a crear un mapa interactivo con OpenLayers y visualizar datos de manera efectiva utilizando gráficos de Plotly.
i.mtr.cool
October 17, 2026 at 3:05 PM
October 13, 2026 at 12:03 PM
if you need to draw on an OpenLayers layer in screen coordinates that are anchored to feature geometry you can use Style.renderer instead of hand-rolling a bunch of resolution * distanceInPixels garbage
October 12, 2026 at 12:52 AM
Toggle dark mode on and off using on and un in OpenLayers
I made this codepen where I am setting a style to a layer on an event listener. How can I programmatically toggle the styling on and off since my attempts to unlisten to the event for that layer have been fruitless? Ideally once I click an outside div the map would use my styling and on clicking that div again revert to original OSM styling. Here is the piece of code that actually enables the dark mode OSM feature. I had to declare the styling function only once in order to pass it to the on and un functions with its unique signature. I understand more about OpenLayers event listeners after Mr. Mike provided help and explanation. darkModeOSMHandler ( flag ) { if (this.darkOSM === null && flag === false) { this.darkOSMCallback = (evt) => { evt.context.globalCompositeOperation = 'color'; evt.context.fillStyle = 'rgba(0,0,0,' + 1.0 + ')'; evt.context.fillRect(0, 0, evt.context.canvas.width, evt.context.canvas.height); evt.context.globalCompositeOperation = 'overlay'; evt.context.fillStyle = 'rgb(' + [200,200,200].toString() + ')'; evt.context.fillRect(0, 0, evt.context.canvas.width, evt.context.canvas.height); evt.context.globalCompositeOperation = 'difference'; evt.context.fillStyle = 'rgba(255,255,255,' + 0.999 + ')'; evt.context.fillRect(0, 0, evt.context.canvas.width, evt.context.canvas.height); evt.context.globalCompositeOperation = 'source-over'; } this.map.getLayers().getArray()[0].on('postrender', this.darkOSMCallback ); this.map.updateSize() } if ( flag === false) { this.map.getLayers().getArray()[0].on('postrender', this.darkOSMCallback ); this.map.updateSize() } if ( flag === true) { this.map.getLayers().getArray()[0].un('postrender', this.darkOSMCallback ); this.map.updateSize() } this.darkOSM = flag }
gis.stackexchange.com
October 7, 2026 at 9:06 AM
I released an open-source TypeScript library for georeferencing images directly in the browser.

Features:
- Browser-only, no backend
- Seven QGIS-style transforms
- PNG, JPEG, WebP, TIFF input
- GeoTIFF, JPEG, PDF and QGIS .points export
- Projections via proj4

github.com/tobilg/geore...
GitHub - tobilg/georeferencing: Geo-reference images onto OpenLayers-based maps with multiple models
Geo-reference images onto OpenLayers-based maps with multiple models - tobilg/georeferencing
github.com
October 5, 2026 at 7:42 AM
OpenLayers v10.11.0 is out. Thanks to everyone who contributed. github.com/openlayers/o...
Release v10.11.0 · openlayers/openlayers
10.11.0 The 10.11 release improves styling, raster data and OGC service support, and makes the library leaner to load. The highlights are Canvas styles now evaluate the color and array operators, ...
github.com
October 4, 2026 at 8:15 PM
Display maps with tiled, raster or vector layers loaded from different sources with vue3-openlayers 🗺️ - madewithvuejs.com/vue3-openlay...
October 3, 2026 at 11:28 AM
📦 bobosch/ods-osm v4.3.1

Add an interactive OpenStreetMap map to your website. Can also show other OpenLayers compatible maps.

🔗 https://github.com/bobosch/ods_osm
October 1, 2026 at 10:20 PM
Removing vertex from Polygon geometry in OpenLayers 5
I could able to remove the recent modified vertex of a feature using removePoint method of modify interaction, as well as using deleteCondition event of modify interaction. However, that is not what I am trying to achieve. The use case for this this problem is as below. I have modify interaction added on map. Now when user tries to modify a feature over map, I am highlighting the vertices, like this so that user can directly go to these vertices and then do right click which will result in removal of vertex. For this, I had to implement the contextmenu to handle the right click over map. But, now the challenge is to remove the received coordinate from the modifying geometry. I tried to implement it as follows, with simple .splice() method on coordinate array of target geometry if(this.modifyInteraction.features_.getLength() && this.modifyInteraction.features_.getArray()[0]){ //Feature being modified let modifyft = this.modifyInteraction.features_.getArray()[0]; let coord = modifyft.getGeometry().getCoordinates()[0]; let foundIndex; for(var k = 0; k < coord.length; k++){ if(coord[k][0] == rightClickedVertex.getGeometry().getCoordinates()[0] && coord[k][1] == rightClickedVertex.getGeometry().getCoordinates()[1]){ foundIndex = k; break; } } if(foundIndex && foundIndex > -1){ modifyft.getGeometry().getCoordinates()[0].splice(foundIndex, 1); //nothing changes } } is there any other way to remove the vertex of geometry being edited?
gis.stackexchange.com
October 1, 2026 at 6:08 PM
¿Sabías que puedes integrar gráficos #interactivos de #Plotly en tus mapas de #OpenLayers?
Descúbrelo con nuestra guía paso a paso y con código:

 
Cómo Integrar Gráficos Interactivos de Plotly con OpenLayers
Aprenderemos a crear un mapa interactivo con OpenLayers y visualizar datos de manera efectiva utilizando gráficos de Plotly.
f.mtr.cool
September 26, 2026 at 3:05 PM
🚨 EUVD-2026-82433
📊 5.3/10
🏢 MapServer

📝 MapServer is a system for developing web-based GIS applications. From 6.0 until 8.6.4, MapServer's OpenLayers HTML output for SERVICE=WMS&REQUEST=GetMap...

🔗 https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-82433

#cybersecurity #infosec #cve #euvd
September 24, 2026 at 10:04 PM
✅ ¿Sabías que con #OpenLayers y #Turf.js puedes analizar distancias y zonas de influencia sin salir del navegador? 🌍 Descubre cómo combinarlas👉

Potenciando mapas con OpenLayers y Turf.js: análisis geoespacial al alcance de todos
Descubre cómo potenciar tus mapas interactivos con OpenLayers y Turf.js. Integra estas herramientas para realizar análisis geoespacial
f.mtr.cool
September 13, 2026 at 7:02 PM
Openlayers 3 setvisible not working until map clicked
In this application layers are constructed dynamically from values stored in a JSON object. There is a layer control function that is called from buttons which toggle the visibility of the groups and the individual layers within the groups. The problem - When an individual layer inside a group is toggled, the change isn't applied to the map until the user clicks on the map view-port. So when the user switches a layer on/off nothing happens. It's fine if layer constructors are hard coded. It's only when building the layers from JSON that this happens. Also, if map.updateSize(); is called just after the visibility is set then the map visibility changes as required but this isn't how setvisible is meant to be used. Is there a way to fix this issue with setvisible other than calling map.updateSize() to force it to apply the change? I have created a fiddle demonstrating the issue here: https://jsfiddle.net/Rob_H/wvdmex8m/5 HTML * * Javascript var response = { lyrs: [{ subLayer: "osm_baselayer", name: "Open Street Map", visible: 1 }], lyrGroups: [{ groupName: "basemaps", visible: 1 }] }; var mapLayers = []; function makelayerGroup() { var lyrGroups = response.lyrGroups; for (i in lyrGroups) { var layerGroup = lyrGroups[i].groupName; var vis = lyrGroups[i].visible; this[layerGroup] = new ol.layer.Group({ visible: vis, name: layerGroup, layers: [] }); mapLayers.push(this[layerGroup]); }; return makelayers(); }; function makelayers() { var lyrs = response.lyrs; for (row in lyrs) { var group_name = lyrs[row].groupName var sub_layer = lyrs[row].subLayer; var vis = lyrs[row].visible; //layer constructor this[sub_layer] = new ol.layer.Tile({ visible: vis, name: lyrs[row].name, source: new ol.source.OSM() }); var a = mapLayers[i].getLayers().getArray(); a.push(this[sub_layer]); } return mapLayers; }; //intialise the map var map = new ol.Map({ target: 'map', layers: makelayerGroup(), view: new ol.View({ center: ol.proj.transform([-0.7, 52.1], 'EPSG:4326', 'EPSG:3857'), zoom: 11 }) }); //function to toggle layers function toggleLayer(layerName) { if (layerName.getVisible() == 1) { layerName.setVisible(0); console.log(layerName.get('name')); } else { layerName.setVisible(1); console.log(layerName.get('name')); } };
gis.stackexchange.com
September 11, 2026 at 10:04 PM
OpenLayers and external CSS
I am using geoExt and OpenLayers to plot some map. Everything worked well until I had to add some styling. To display it on the webpage, I need to use the CSS of my university and once I do that, I have some horizontal white lines between each tile (but not vertically though). The lines have always the same height. The problem seems to come only from the CSS, since if I remove it in the html (it is the first thing invoked in ), everything looks correct. Searching here and on the web, I found than some people proposed to create a CSS after everything else which sets: .openlayers-map img {max-width: none;} But it didn't solve anything. Is there a way to tell to a div that it needs to load no styles but the one used by OpenLayers? Here is a sample of the code I have: var osm = new OpenLayers.Layer.OSM( "Open Street Map" ); bwms = new OpenLayers.Layer.WMS( "usa:states - Tiled", "http://128.178.82.176:8080/geoserver/usa/wms", { layers: "usa:states", tiled: true, transparent: true },{ singleTile: true, projection: new OpenLayers.Projection("EPSG:4326") // specified because it is different than OSM's } ); mapPanel = new GeoExt.MapPanel({ renderTo: "mapPanel", map: new OpenLayers.Map({ projection: epsg900913, displayProjection: epsg4326, units: "m", center: new OpenLayers.LonLat(6.59,46.39).transform(epsg4326,epsg900913) }), layers: [osm,bwms], // height/width in pixels height: 450, zoom: 10, border: false });
gis.stackexchange.com
September 8, 2026 at 5:05 AM
🗺️ ¿Quieres descargar #mapas de Google Maps, OSM, Bing o Apple Maps en #QGIS? 🌐 Usa los plugins OpenLayers y QuickMapServices. Descubre cómo instalarlos y configurarlos para mejorar tus proyectos SIG. 🚀

https://f.mtr.cool/kl48j83i5x

👉 ¿Ya probaste estos plugins? 
2 plugins para descargar en QGIS mapas de Google Maps, OSM, Bing ...
OpenLayers plugin y QuickMapServices son dos plugins para descargar mapas de Google Maps, OSM, Bing, Apple maps, entre otros en QGIS.
f.mtr.cool
September 6, 2026 at 7:02 PM