hajkmap / hajk Goto Github PK
View Code? Open in Web Editor NEWA modern, full-featured OpenLayers based map viewer and editor
License: MIT License
A modern, full-featured OpenLayers based map viewer and editor
License: MIT License
Shows app related news to end users by displaying a Snackbar.
Useful when admins want to announce something map related, prepare users for planned downtime, etc.
announcements
in appConfig.json
. (I won't be building a admin UI around this for now.)appConfig.json
and not each map config is that this approach will allow admins to show the same announcement on one-to-many maps.message
(required), startTime
, endTime
, and two boolean flags: active
and showOnlyOnce
. Also a uuid
is needed, so we can keep track of which announcement has been shown, should admin set showOnlyOnce
to true.This component doesn't yet have any admin UI. Instead, it is configured by adding something like this to the appConfig.json
:
"announcements": [
{
"id": 1, // Numeric. Must be a unique ID for this item in array of objects.
"text": "Message to show to the user. Keep it short.", // String. Self-documenting.
"active": true, // Boolean. Makes it possible to turn off messages completely without removing them.
"showOnlyOnce": true, // Boolean. If true, a cookie will be saved on users browser and message will show only once.
"maps": ["map_1", "another_map"], // Array. Only specified maps will show message.
"timeout": null, // null or Numeric. Snackbar will auto hide after specified amount of millisecond, or be persistent (if null).
"startTime": "2020-01-01", // DateTime. Earliest timestamp for this to be visible. Must be a string parsable by Date.parse().
"stopTime": "2020-12-31", // DateTime. Last timestamp when this will be visible.
"type": "info" // String. See Notistack docs for allowed options, usually "default", "info", "warning", "success" and "error".
}, {
"id": 2,
// ... and so on
},
// ... and more objects here
]
My initial idea, which now dates back over two years, can be found here (Swedish only): https://hajk.slack.com/archives/C2QNE0FCG/p1527249217000491.
Infoklick
Update 2017-11-24
Kartan fungerar korrekt när man kommenterar bort rad 79 i mapmodel.js.
//extent: this.get('extent').length != 0 ? this.get('extent') : undefined
Vid ytterligare undersökning har jag konstaterat att det har med konfigurationen av extent (i map_x.json) att göra. Om värdet för extent
sätts till exakt samma värden som för någon av projections
så fungerar kartan korrekt. (Jag har testat med EPSG:3008 och värden extent = [60857.4994, 6120098.8505, 223225.0217, 6906693.7888]
.)
Ursprunligt inlägg
Testade a94ef3f och där var allt OK.
I commit df87325 uppstår buggen.
Kortfattad beskrivning av buggen
Bakgrundskarta och lager laddas när användaren laddar sidan och allting visas. Så fort användaren gör något med musen som kräver att kartan ritas om så uppstår buggen och kartområdet blir vitt. Det räcker alltså att användaren trycker, håller och flyttar kartan med musen (dvs panorerar) eller zoomar med scroll-hjulet.
Om användaren däremot använder + och - knapparna för att zooma så ritas allting korrekt.
När buggen har uppstått och kartan är vit så kan användaren återfå kartan genom att trycka på GPS-knappen. Då ritas kartan om korrekt, med den nya zoominställningen och panoreringen.
Steg för att återskapa
Förhandkrav: Ha en lokal version igång på IIS (för att nyttja mapservice och admin därifrån). Du ska kunna nå localhost:80 och se en karta.
cd client
npm install
grunt dependencies
grunt build
grunt debug
Jag felsökte vidare och ser att anropen går ut till WMS-en. Felet fanns inte i version a94ef3f som fungerade bra. Du kan testa det genom att checka ut specifikt den versionen.
git checkout a94ef3f
Om kartan
Läs plugin config från this.config
test
Det ska gå att välja en färdig konfiguration av vilka lager som är tända. T.ex. Adresskarta, Fastighetskarta, Bygglovskarta etc. Vilka "paket" som ska finnas och hur de ska nås behöver bestämmas.
Önskvärda funktioner:
Fånga koordinat
Text till karta
Gör så att konfig för färgteman hämtas från map config och skapas som teman via material UI.
Collector
Ritordningslistan blir jättelång och man behöver något stöd för att se var man är. Kunna skapa grupperingar (som i Lagerlistan).
Lägg till en property "target" i admin för varje plugin.
När man klickar på en sökträff ska attributen visas på samma sätt som vid "vanligt" klick i kartan. Dvs använda sig av den konfigurering som gjorts i admingränssnittet för attributvisning i inforuta.
Det ska finnas tre olika val att välja mellan när det gäller Bildformat i fliken Visningstjänster. Idag går det att välja på image/png och image/jpeg. Detta ska kompletteras med image/png8.
Navigation
Utskrift
Endast filändelser som kan importeras ska visas och endast dessa ska vara möjliga att välja.
Kommer finnas i pre-release, ska ingå i issue #147.
Byt namn på tools till plugins i map config
Gör så att ikonen för sökträff inte är hårdkodad till http://localhost/gbg/assets/icons/marker.png.
It looks as we somehow fail to display valid attributions for selected layers. Instead, the sole attribution visible is [object Object]
…
Separera fönstret, alternativt hoppa till överkant på sidan när man markerar ett lager som ligger långt ner i listan (så att tex WMS-registrerings-information inte syns till höger). Man ser inte vad som händer/ att det händer något när man klickar.
När man ska dra och släppa lager i alla listor saknas en automatisk scroll-funktion. Nu är listan längre än skärmen är hög och man måste mellanlanda lagret på fel plats, scrolla och sen dra vidare.
Det ska gå att infoklicka och få träff på alla objekt som ligger på varandra. Detta ska fungera oavsett om objekten är i samma eller i olika lager.
Användarna ska kunna välja om de vill hämta eller maila pdf:en som skapas.
Snabbval
När man ska dra och släppa lager i alla listor saknas en automatisk scroll-funktion. Nu är listan längre än skärmen är hög och man måste mellanlanda lagret på fel plats, scrolla och sen dra vidare.
It might be a good idea to automatically attach some info, such as navigator.userAgent
.
Sök
Visa min position
För varje sökattribut ska det gå att välja om sökning ska göras med wildcard (start och/eller slut) eller som exakt sökning.
Ordningen på sökbara lager i rullgardinslistan vill man kunna bestämma.
Den gröna rutan som det står 'Klar' i ska byta utseende till tydlig knapp. Texten ändras till "Slutför" och utan bock-symbol.
Lägg in förklarande text för hur man söker med wildcard
Önskvärda funktioner:
Ritordningslistan blir jättelång och man behöver något stöd för att se var man är. Kunna skapa grupperingar (som i Lagerlistan).
Bokmärken
Nya lager som läggs till ska hamna överst istället för nederst.
För varje sökattribut ska det gå att välja om sökning ska göras med wildcard (start och/eller slut) eller som exakt sökning.
I admin-verktyget skulle det underlätta väldigt mycket att kunna läsa av (skörda) tjänstens förmåga och presentera den i drop-listor. Då kan administratören direkt välja en av dem (som också stöds av GOkart). Kan vara version, bildformat, infoformat, infoklickbar, koordinatsystem, lager, stilar etc
JA/ME: Förslag: Komplettera admingränssnitt med droplistor för valbara parametrar och fyll dessa med tjänstens förmåga.
Behöver kunna justera WMS-version (tex om annan extern organisation har en viss/annan version som vi vill koppla in)
Byt så att alla plugins som har en panel renderar i en drawer
Editering
Skapa buffertzon
Google street view
Sök ska ske i bokstavsordning. Skriver du Ka vill jag få upp de som börjar på Ka först.
Om man söker på "ka" ska man få träff på baka (ka), skatt (ka) och katt (ka).
Sortering enligt katt, baka, skatt. Dvs att träffar som börjar på sökt ord får företräda framför de andra varianterna och att de därefter sorteras i bokstavsordning.
Quick link to given coordinate and zoom level, with a nice label.
Could be placed next to search, in App bar, and used to quickly zoom to a population center in the municipality.
Länk till karta
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.