XYZ Maps is an experimental and work in progress open-source map editor written in TypeScript/JavaScript.
XYZ Maps consists of the following main modules:
- @here/xyz-maps-common : The Common module provides commonly used javascript functionality that is required by all other modules of XYZ Maps.
- @here/xyz-maps-core : The Core module provides the most basic functionality. Main functionalities of the module are: DataProviders, TileLayers, Geometric Classes and Styling definitions.
- @here/xyz-maps-display : The Display module is a highly customizable vector map display that's optimized for map editing, larger raw datasets and frequently changing data.
- @here/xyz-maps-editor : The Editor module provides an API for editing map data that can be used to easily access, add, remove and edit various types of map data.
All four modules provide UMD and ESM builds with TypeScript and browser-global typings.
-
Clone this repository
git clone https://github.com/heremaps/xyz-maps.git cd xyz-maps -
Install pnpm, if it is not installed yet
npm install -g pnpmThe project pins the pnpm version in
package.json(packageManager). pnpm switches to that version automatically. Installs withnpmoryarnare blocked on purpose. -
Install node module dependencies
pnpm install -
watch for source code changes and build dev version
pnpm run watch-devBuilds are located in
./packages/*/dist/
Setup an XYZ token is only required if the XYZ Hub endpoint at xyz.api.here.com is used. You can get a token by following the instructions in this guide.
If you are using a local XYZ Hub simply set set-access-token to an empty string.
Running integration tests / playground and debug pages requires the XYZ token to be provided.
- Configure your XYZ token
pnpm run set-access-token YOUR_ACCESS_TOKEN
- Start debug server (requires xyz access token)
browser will start and open http://localhost:8080/debug automatically
pnpm run server
- Build and start the playground (requires xyz access token)
browser will start and open http://localhost:8081/packages/playground/dist automatically
pnpm run playground
-
Run tests on release build
pnpm run test -
Build development version
pnpm run build-dev(located in docs/) -
Build release version only
pnpm run build-release(minified...) -
Build the documentation
pnpm run build-doc(located in packages/docs/dist/) -
Create full release bundle
pnpm run bundle-release(includes documentation and playground) -
Configure XYZ access token
pnpm run set-access-token YOUR_ACCESS_TOKEN
Copyright (C) 2019-2026 HERE Europe B.V.
This project is licensed under the Apache License, Version 2.0 - see the LICENSE file for details
