Browse Source

Merge branch 'master' into tags-display

master
parent
commit
0ea50f3fd7
  1. 4
      README.md
  2. 2
      conf.php-dist
  3. 9
      lang/fr.json
  4. 55
      lang/nb.json
  5. 39
      lang/tr.json
  6. 2
      lib/modulekit/lang
  7. 2
      modulekit.php
  8. 6935
      package-lock.json
  9. 60
      package.json
  10. 5
      src/CategoryOverpass.js
  11. 6
      src/index.js
  12. 5
      src/map-getMetersPerPixel.js
  13. 8
      src/markers.js

4
README.md

@ -90,9 +90,10 @@ The following values are possible for categories (the only mandatory value is qu
* feature: an object describing how the feature will be formatted resp. styled.
* style: a Leaflet style.
* stroke: Whether to draw stroke along the path. Set it to false or empty string to disable borders on polygons or circles. (boolean, true)
* width: Stroke width in pixels (number, 3)
* width: Stroke width, optionally with unit ('px' for width in screen pixels (default) or 'm' for width in world meters). Default: '3px'.
* color: Stroke color (string, '#3388ff')
* opacity: Stroke opacity (number, 1.0)
* offset: Offset stroke to left or right ('px' for width in screen pixels (default) or 'm' for width in world meters). Default: '0px'.
* lineCap: shape at end of the stroke (string, 'round')
* lineJoin: shape at corners of the stroke (string, 'round')
* dashArray: stroke dash pattern (string, null)
@ -115,6 +116,7 @@ The following values are possible for categories (the only mandatory value is qu
* pattern-angleCorrection: degrees (arrowHead and marker only)
* pattern-rotate: false (marker only)
* pattern-path-*: Options for the path, e.g. pattern-path-width, pattern-path-color.
* pane: show vector on the specified pane (usually defined: 'overlayPane' (default), 'hover', 'selected', 'casing')
* title: the title of the feature popup, the object in the list and the details page. (default: localized tags for 'name', 'operator' or 'ref', default: 'unknown')
* body: the body for the feature popup and the details page.
* description: a short description shown in the list next to the title.

2
conf.php-dist

@ -111,6 +111,8 @@ $languages = array(
"ru", // Russian
"sr", // Serbian
"uk", // Ukrainian
"nb", // Bokmål (Norwegian)
"tr", // Turkish
);
// Uncomment the following lines to use a MYSQL database for session handling.

9
lang/fr.json

@ -21,7 +21,7 @@
"header:export": "Export",
"header:osm_meta": "Métadonnées OSM",
"images": "Images",
"invalid value": "",
"invalid value": "valeur invalide",
"loading": "Chargement...",
"main:options": "Options",
"main:permalink": "Permalien",
@ -46,5 +46,10 @@
"unnamed": "sans nom",
"wikipedia:no-url-parse": "Impossible de parser l'URL de Wikipédia",
"zoom_in_appear": "zoomez pour que les éléments de la carte apparaissent",
"zoom_in_more": "zoomez pour afficher plus d'éléments de la carte"
"zoom_in_more": "zoomez pour afficher plus d'éléments de la carte",
"cancel": "Annuler",
"form_element:please_select": "--veuillez sélectionner --",
"main:about": "À propos de",
"main:code": "Code",
"options:debug_mode": "Débogage"
}

55
lang/nb.json

@ -0,0 +1,55 @@
{
"add_filter": "Legg til filter",
"any value": "hvilken som helst verdi",
"available_branches": "Tilgjengelige grener",
"back": "tilbake",
"cancel": "Avbryt",
"categories": "Kategorier",
"category-info-tooltip": "Info & Kart-nøkkelverdi",
"closed": "lukket",
"default": "standard",
"edit": "rediger",
"error": "Feil",
"export-all": "Eksporter alle synlige kartobjekter",
"export-prepare": "Forbered nedlasting",
"export:GeoJSON": "Last ned som GeoJSON",
"export:OSMJSON": "Last ned som OSM-JSON",
"export:OSMXML": "Last ned som OSM-XML",
"facilities": "Fasiliteter",
"filter:title": "Tittel",
"filter:type": "Type",
"form_element:please_select": "-- vennligst velg --",
"header:attributes": "Attributter",
"header:export": "Eksporter",
"header:osm_meta": "OSM-meta",
"images": "Bilder",
"invalid value": "ugyldig verdi",
"loading": "Laster ...",
"main:about": "Om",
"main:code": "Kode",
"main:options": "Innstillinger",
"main:permalink": "Permalink",
"more": "mer",
"more_categories": "Flere kategorier",
"more_categories_gitea": "Lag & forbedre kategoriene selv!",
"more_results": "Vis flere resultater",
"open": "åpen",
"options:data_lang": "Dataspråk",
"options:data_lang:desc": "Mange kartobjekter har navnet sitt (og andre egenskaper) oversatt til andre språk (eks. med 'name:en', 'name:no'). Spesifiser hvilket språk som skal brukes for å vise objektene, eller velg 'Lokalt språk' slik at den uoversatte verdien (eks. 'name') skal brukes.",
"options:data_lang:local": "Lokalt språk",
"options:debug_mode": "Debug-modus",
"options:overpassUrl": "OverpassAPI-URL",
"options:preferredBaseMap": "Foretrukket grunnkart",
"options:ui_lang": "Grensesnittspråk",
"other": "Andre",
"repo-use-as-base": "Bruk dette repo-området som grunn-repo",
"repositories": "Repoer",
"save": "Lagre",
"show details": "vis detaljer",
"toggle_fullscreen": "Slå av/på fullskjermsmodus",
"unknown": "ukjent",
"unnamed": "navnløs",
"wikipedia:no-url-parse": "Kunne ikke håndtere Wikipedia-URLen",
"zoom_in_appear": "zoom inn for å se kartobjekter",
"zoom_in_more": "zoom inn for flere kartobjekter"
}

39
lang/tr.json

@ -0,0 +1,39 @@
{
"add_filter": "Filtre ekle",
"any value": "herhangi bir değer",
"back": "geri",
"cancel": "İptal",
"categories": "Kategories",
"category-info-tooltip": "Bilgi & Harita anahtarı",
"closed": "kapalı",
"default": "varsayılan",
"edit": "düzenle",
"error": "Hata",
"export:GeoJSON": "GeoJSON İndir",
"export:OSMJSON": "OSM JSON İndir",
"filter:title": "Başlık",
"filter:type": "Tip",
"form_element:please_select": "-- lütfen seçiniz --",
"header:attributes": "Öznitelikler",
"header:export": "Dışa aktar",
"header:osm_meta": "OSM Meta",
"main:about": "Hakkında",
"main:code": "Kod",
"main:options": "Seçenekler",
"open": "aç",
"options:data_lang": "Veri dili",
"options:data_lang:local": "Yerel dil",
"other": "Diğer",
"export-all": "Görüntülenen harita detaylarını dışa aktar",
"export-prepare": "İndirmeyi hazırla",
"facilities": "Tesisler",
"images": "Görüntüler",
"invalid value": "geçersiz değer",
"loading": "Yükleniyor ...",
"main:permalink": "Kalıcı Bağlantı",
"more_categories": "Daha fazla kategori",
"options:ui_lang": "Arayüz dili",
"save": "Sakla",
"show details": "detayları göster",
"toggle_fullscreen": "Tam ekran modu"
}

2
lib/modulekit/lang

@ -1 +1 @@
Subproject commit d9766d33152d224a7bfaf496011a9affbac1d745
Subproject commit 0dc7f5348115a6aae1d87afdc3c4f9a5408627a3

2
modulekit.php

@ -26,4 +26,4 @@ $include = array(
'style.css',
),
);
$version = "4.6";
$version = "4.7";

6935
package-lock.json
File diff suppressed because it is too large
View File

60
package.json

@ -1,75 +1,51 @@
{
"name": "openstreetbrowser",
"version": "4.6.7",
"version": "4.7.0",
"description": "A re-make of the famous OpenStreetBrowser (pure JS, using Overpass API)",
"main": "src/export.js",
"repository": "https://github.com/plepe/openstreetbrowser",
"author": "Stephan Bösch-Plepelits <skunk@xover.mud.at>",
"license": "GPL-3.0",
"dependencies": {
"@fortawesome/fontawesome-free": "^5.5.0",
"@babel/cli": "^7.7.7",
"@babel/core": "^7.7.7",
"@babel/preset-env": "^7.7.7",
"@fortawesome/fontawesome-free": "^5.12.0",
"@mapbox/maki": "^5.0.0",
"async": "^2.5.0",
"async-foreach": "^0.1.3",
"babel-cli": "^6.26.0",
"babel-core": "^6.26.0",
"babel-preset-env": "^1.6.1",
"babelify": "^8.0.0",
"color-interpolate": "^1.0.2",
"babelify": "^10.0.0",
"color-interpolate": "^1.0.5",
"event-emitter": "^0.3.5",
"file-saver": "^2.0.0",
"font-awesome": "^4.7.0",
"i18next-client": "^1.11.4",
"ip-location": "^1.0.1",
"json-multiline-strings": "^0.1.0",
"leaflet": "^1.0.3",
"leaflet": "^1.6.0",
"leaflet-geosearch": "^2.4.0",
"leaflet-polylineoffset": "^1.1.0",
"leaflet-textpath": "https://github.com/makinacorpus/Leaflet.TextPath#leaflet0.8-dev",
"leaflet-textpath": "git+https://github.com/makinacorpus/Leaflet.TextPath.git#leaflet0.8-dev",
"leaflet.locatecontrol": "^0.61.0",
"leaflet.polylinemeasure": "https://github.com/ppete2/Leaflet.PolylineMeasure.git",
"leaflet.polylinemeasure": "git+https://github.com/ppete2/Leaflet.PolylineMeasure.git",
"md5": "^2.2.1",
"modulekit-tabs": "^0.2.1",
"modulekit-tabs": "^0.2.2",
"moment": "^2.18.1",
"natsort": "^1.0.6",
"opening_hours": "^3.5.0",
"openstreetbrowser-categories-main": "https://github.com/plepe/openstreetbrowser-categories-main",
"openstreetbrowser-categories-main": "git+https://github.com/plepe/openstreetbrowser-categories-main.git",
"openstreetmap-date-format": "^0.2.0",
"openstreetmap-date-parser": "^0.1.0",
"openstreetmap-tag-translations": "https://github.com/plepe/openstreetmap-tag-translations",
"overpass-layer": "^2.4.0",
"openstreetmap-tag-translations": "git+https://github.com/plepe/openstreetmap-tag-translations.git",
"overpass-layer": "^2.5.0",
"query-string": "^5.0.0",
"sheet-router": "^4.2.3",
"temaki": "^1.0.0",
"temaki": "^1.9.0",
"weight-sort": "^1.3.0"
},
"browserify": {
"transform": [
[
"babelify",
{
"presets": [
[
"env",
{
"targets": {
"browsers": [
"last 2 versions",
"> 0.5%",
"safari >= 7",
"ie >= 11"
]
}
}
]
]
}
]
]
},
"scripts": {
"test": "mocha --bail",
"build": "npm run build-locales && browserify -g browserify-css src/index.js -o dist/tmp1.js && babel --presets env dist/tmp1.js > dist/tmp2.js && mv dist/tmp2.js dist/openstreetbrowser.js && rm dist/tmp1.js",
"build": "npm run build-locales && browserify -g browserify-css src/index.js -o dist/tmp1.js && babel --presets @babel/preset-env dist/tmp1.js > dist/tmp2.js && mv dist/tmp2.js dist/openstreetbrowser.js && rm dist/tmp1.js",
"build-locales": "for i in `ls locales/` ; do browserify locales/$i -o dist/locale-$i ; done",
"watch": "npm run build-locales && watchify --debug -g browserify-css src/index.js -o dist/openstreetbrowser.js -v",
"prepublish": "npm run build",
@ -77,8 +53,8 @@
},
"devDependencies": {
"browserify": "^14.4.0",
"browserify-css": "^0.14.0",
"leaflet-polylinedecorator": "https://github.com/plepe/Leaflet.PolylineDecorator.git",
"browserify-css": "^0.15.0",
"leaflet-polylinedecorator": "git+https://github.com/plepe/Leaflet.PolylineDecorator.git",
"mocha": "^5.2.0",
"standard": "^10.0.2",
"watchify": "^3.9.0"

5
src/CategoryOverpass.js

@ -433,7 +433,10 @@ CategoryOverpass.prototype.updateInfo = function () {
'const': this.data.const
}
if (this.map) {
data.map = { zoom: map.getZoom() }
data.map = {
zoom: this.map.getZoom(),
metersPerPixel: this.map.getMetersPerPixel()
}
}
this.domInfo.innerHTML = this.templateInfo.render(data)
this.updateAssets(this.domInfo)

6
src/index.js

@ -11,6 +11,7 @@ global.OpenStreetBrowserLoader = OpenStreetBrowserLoader
require('./CategoryIndex')
require('./CategoryOverpass')
require('./category.css')
const mapMetersPerPixel = require('./map-getMetersPerPixel')
global.map = null
global.baseCategory = null
@ -44,6 +45,9 @@ window.onload = function () {
var initState = config.defaultView
map = L.map('map')
map.getMetersPerPixel = mapMetersPerPixel.bind(map)
map.attributionControl.setPrefix('<a target="_blank" href="https://wiki.openstreetmap.org/wiki/OpenStreetBrowser">OpenStreetBrowser</a>')
// due to php export, options may be an array -> fix
if (Array.isArray(options)) {
@ -57,6 +61,8 @@ window.onload = function () {
map.createPane('selected')
map.getPane('selected').style.zIndex = 498
map.createPane('casing')
map.getPane('casing').style.zIndex = 399
}
function onload2 (initState) {

5
src/map-getMetersPerPixel.js

@ -0,0 +1,5 @@
function getMetersPerPixel () {
return 40075016.686 * Math.abs(Math.cos(this.getCenter().lat / 180 * Math.PI)) / Math.pow(2, this.getZoom() + 8)
}
module.exports = getMetersPerPixel

8
src/markers.js

@ -1,11 +1,12 @@
var OverpassLayer = require('overpass-layer')
var parseLength = require('overpass-layer/src/parseLength')
function cssStyle (style) {
let ret = ''
if ('color' in style) {
ret += 'stroke: ' + style.color + ';'
}
ret += 'stroke-width: ' + ('width' in style ? style.width : '3') + ';'
ret += 'stroke-width: ' + parseLength('width' in style ? style.width : '3', global.map.getMetersPerPixel()) + ';'
if ('dashArray' in style) {
ret += 'stroke-dasharray: ' + style.dashArray + ';'
}
@ -15,9 +16,6 @@ function cssStyle (style) {
if ('dashOffset' in style) {
ret += 'stroke-dashoffset: ' + style.dashOffset + ';'
}
if ('offset' in style) {
ret += 'stroke-offset: ' + style.dashOffset + ';'
}
if ('fillColor' in style) {
ret += 'fill: ' + style.fillColor + ';'
} else if ('color' in style) {
@ -40,7 +38,7 @@ function markerLine (data) {
let ret = '<svg anchorX="13" anchorY="8" width="25" height="15">'
styles.forEach(style => {
let y = 8.0 + parseFloat('offset' in style ? style.offset : 0)
let y = 8.0 + parseLength('offset' in style ? style.offset : 0, global.map.getMetersPerPixel())
ret += '<line x1="0" y1="' + y + '" x2="25" y2="' + y + '" style="' + cssStyle(style) + '"/>'
})

Loading…
Cancel
Save