Skip to content
Vilnius city municipality administration (VCMA) interactive maps based on ArcGis API 4.x and Angular 6.x
TypeScript HTML CSS JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode
app
environments
json
server
views
.DS_Store
.editorconfig
.gitignore
LICENSE
README.md
helpers.js
index-production.html
index.html
package-lock.json
package.json
protractor.conf.js
sreenshot.png
tsconfig.json
tslint.json
webpack.dev.js
webpack.prod.js

README.md

Vilnius maps

Vilnius city municipality administration (VCMA) interactive maps based on ArcGis API 4.x and Angular 6.x

screenshot

Vilnius maps live

www.maps.vilnius.lt

Start Vilnius maps

Dowload and run the following at the command line to run the app in development mode:

npm install
npm start

Create production build:

npm run build

Note: currently using express js and ejs in production

Check the npm packages described in the package.json.

Configuration file

Add default funcionality themes with Dynamic layers based on ArcMaps *.mxd project and REST services to and existing options.ts file

Example

// Create new theme with default Dynamic layer funcionality

export const MapOptions: any = {
  themes: {
    buildings: { // add new unique theme
      url: "https://maps.vilnius.lt/maps_vilnius/?theme=theme-buildings", // while migrating to ArcGis 4.x is not completely finished use url for static navigation to ArcGis 3.x app
      production: true, // if theme is ready for production
      custom: true, // true if theme funcionality is custom
      name: "Pastatai ir statyba", // theme name
      id: "pastatai-statyba", // theme id class and theme URL query name
      imgUrl: "./app/img/statyba.png", // image URL
      imgAlt: "Pastatai ir statyba", // image alt attribute
      layers: {
        administravimas: { // layer unique name
          dynimacLayerUrls:  // dynamicService URL, only 1 url per uniquer Layer
          "https://zemelapiai.vplanas.lt/arcgis/rest/services/Interaktyvus_zemelapis/Pastatu_administravimas/MapServer",
          featureLayerUrls: [
            "https://zemelapiai.vplanas.lt/arcgis/rest/services/Interaktyvus_zemelapis/Pastatu_administravimas/MapServer/1"
          ]
        }
      }
    },
    teritory: {
      production: true, // if theme is ready for production
      name: "Teritorijų planavimas", // theme name
      id: "teritoriju-planavimas", // theme id class and theme URL query name
      imgUrl: "./app/img/teritorijos.png", // image URL
      imgAlt: "Teritorijų planavimas", // image alt attribute
      layers: { // best practise to use 1 layer service per theme in order to save as much as possible ArcSOC processes, multiple layers works as well.
        teritorijuPlanavimas: { // layer unique name //
          dynimacLayerUrls:  // dynamicService URL, only 1 url per uniquer Layer
          "https://zemelapiai.vplanas.lt/arcgis/rest/services/Interaktyvus_zemelapis/Teritoriju_planavimas/MapServer",
          name: "Teritorijų planavimas:", //name of service
          isGroupService: true, // deprecated in ArcGis API 4.x version
          opacity: 0.9 // opacity from 0 to 1
        }
      }
    }
	}

Resources

Notes

For older commits use package.json with match version exactly instead of compatible with version, see following commit

NPM 6.1.0
Node v8.11.2
Webpack 4.x

ToDo

add Angular CLI
JIT instead of AOT
switch to esri-loader
bundle esri api libraries
remove unnecessary styles, move to sass
add tests
add external options configuration application with OAuth
refactor :)

You can’t perform that action at this time.