[TikiWiki-commits] [Git][tikiwiki/tiki][master] Fixes for geojson files and features and other issues

"Jonny Bradley \(@jonnybradley\) via TikiWiki-cvs" <[email protected]>
Newsgroups gmane.comp.cms.tiki.cvs
Message-ID <69cfa56392395_3b191c5c-16e@gitlab-sidekiq-low-urgency-cpu-bound-v2-6b67458b4c-kfgsb.mail>

Jonny Bradley pushed to branch master at Tiki Wiki CMS Groupware / Tiki


Commits:
51173c19 by Jonny Bradley at 2026-04-03T11:25:30+00:00
Fixes for geojson files and features and other issues
---
* [FIX] uglify

* [FIX] maps: Set style for vector intent features and improve projection mapping to use the current view's one

* [MOD] maps: Fixes for geojson files and features, not working yet but no more js errors...

* [FIX] maps: Now that plugin defaults are applied properly these random numbers just produce layer errors - no idea why I put these here in 2019, apologies

See merge request tikiwiki/tiki!9889

- - - - -


2 changed files:

- lib/wiki-plugins/wikiplugin_map.php
- src/js/jquery-tiki/tiki-maps-ol3.js


Changes:

=====================================
lib/wiki-plugins/wikiplugin_map.php
=====================================
@@ -116,7 +116,7 @@ function wikiplugin_map_info()
                 'name' => tra('Tileset layers'),
                 'description' => tra('Tilesets to use for background layers, comma separated. Tileset groups can be added separated by a tilde character (requires Open Layers v3+, default is the geo_tilesets preference)'),
                 'since' => '20.1',
-                'default' => "86, 134, 200",
+                'default' => '',
                 'filter' => 'text',
                 'advanced' => true,
             ],


=====================================
src/js/jquery-tiki/tiki-maps-ol3.js
=====================================
@@ -289,20 +289,26 @@ import { defaults as defaultControls } from "ol/control";
                 }
 
                 // Check for color on feature property
-                var featureColor = feature.get("color");
-                if (featureColor) {
+                const intent = feature.get("intent");
+                if (intent === "vectors") {
+                    let borderColor = feature.get("color") ?? "#999";
+                    let fillColor = feature.get("fillColor");
+
+                    if (!fillColor) {
+                        // from theme-customizer.js
+                        //fillColor = lightenDarkenColor(borderColor, -10);
+                        fillColor = borderColor;
+                        borderColor = "#666";
+                    }
+
                     return new ol.style.Style({
-                        geometry: feature.getGeometry(),
-                        image: new ol.style.Circle({
-                            radius: 10,
-                            fill: new ol.style.Fill({ color: featureColor }),
-                            stroke: new ol.style.Stroke({ color: "#333", width: 2 }),
-                        }),
+                        fill: new ol.style.Fill({ color: fillColor }),
+                        stroke: new ol.style.Stroke({ color: borderColor, width: 2 }),
                     });
                 }
 
                 // Check if it's a marker with icon
-                if (feature.get("intent") === "marker") {
+                if (intent === "marker") {
                     return new ol.style.Style({
                         geometry: feature.getGeometry(),
                         image: new ol.style.Icon({
@@ -1579,28 +1585,25 @@ import { defaults as defaultControls } from "ol/control";
                                     } else if (i.geo_file) {
                                         // load a file containing geometry, set using tracker Files indexGeometry option
 
-                                        var format,
-                                            files = i.geo_file.split(","),
-                                            proj4326 = new ol.proj.Projection("EPSG:4326"),
-                                            proj900913 = new ol.proj.Projection("EPSG:900913");
+                                        let format;
+                                        const files = i.geo_file.split(",");
 
                                         layer = container.getLayer(layerName);
 
-                                        if (i.geo_file_format == "geojson") {
+                                        if (i.geo_file_format === "geojson") {
                                             format = new ol.format.GeoJSON();
                                         } else {
-                                            if (i.geo_file_format == "gpx") {
+                                            if (i.geo_file_format === "gpx") {
                                                 format = new ol.format.GPX();
                                             }
                                         }
-                                        for (var f = 0; f < files.length; f++) {
+                                        for (let f = 0; f < files.length; f++) {
                                             $.get(files[f], function (data) {
-                                                if (data.indexOf("&quot;") > -1) {
-                                                    // decode html entities coming from file galleries
-                                                    data = $("<div/>").html(data).text();
-                                                }
                                                 try {
-                                                    features = format.readFeatures(data);
+                                                    features = format.readFeatures(data, {
+                                                        dataProjection: "EPSG:4326",
+                                                        featureProjection: container.map.getView().getProjection(),
+                                                    });
                                                 } catch (e) {
                                                     // Corrupted feature - display plain marker
                                                     $(container).addMapMarker({
@@ -1632,12 +1635,6 @@ import { defaults as defaultControls } from "ol/control";
                                                     if (!feature.get("popup_tpl")) {
                                                         feature.set("popup_tpl", $(form).data("popup-tpl"));
                                                     }
-                                                    // for some reason geometry needs to be in 900913 projection to correctly appear
-                                                    // in the "Editable" vector layer, even though layer.projection === "EPSG:4326"
-                                                    let geometry = feature.getGeometry();
-                                                    if (geometry) {
-                                                        geometry.transform(proj4326, proj900913);
-                                                    }
                                                 });
                                                 layer.getSource().addFeatures(features);
 



View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/51173c190691886533e000551d5ca443cdd7226e

-- 
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/51173c190691886533e000551d5ca443cdd7226e
You're receiving this email because of your account on gitlab.com. Manage all notifications: https://gitlab.com/-/profile/notifications | Help: https://gitlab.com/help

_______________________________________________
TikiWiki-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.