https://github.com/maptalks/maptalks.mapsync
maptalks Map synchronization tool
https://github.com/maptalks/maptalks.mapsync
Last synced: about 1 year ago
JSON representation
maptalks Map synchronization tool
- Host: GitHub
- URL: https://github.com/maptalks/maptalks.mapsync
- Owner: maptalks
- License: mit
- Created: 2023-02-20T01:25:31.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-07-29T09:31:34.000Z (almost 2 years ago)
- Last Synced: 2025-04-14T05:09:22.190Z (about 1 year ago)
- Language: JavaScript
- Homepage: https://deyihu.github.io/maptalks.mapsync/test/
- Size: 41 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# maptalks.mapsync
[maptalks](https://github.com/maptalks/maptalks.js) Map synchronization tool
The map will become the main map when the mouse enters the container of the map
if you want switch main map , you can use `setMainMap` method
## Install
### NPM
```sh
npm i maptalks
npm i maptalks.mapsync
# or
yarn add maptalks
yarn add maptalks.mapsync
```
### CDN
```html
```
## API
## MapSync
### constructor(maps)
```js
import {
MapSync
}
from 'maptalks.mapsync'
const mapSyncControl = new MapSync(maps);
// if you use cdn
// const mapSyncControl = new maptalks.MapSync(maps);
```
### methods
* addMap(map)
```js
const map = new maptalks.Map(id, {
center: [-0.113049, 51.498568],
zoom: 14,
baseLayer: new maptalks.TileLayer('base', {
urlTemplate: 'https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png',
subdomains: ["a", "b", "c", "d"],
attribution: '© OpenStreetMap contributors, © CARTO'
})
});
mapSyncControl.addMap(map);
```
* removeMap(map)
```js
mapSyncControl.removeMap(map);
```
* setMainMap(map) `set main map for Drive other maps`
```js
mapSyncControl.setMainMap(map);
```
* getMainMap()
```js
mapSyncControl.getMainMap();
```
* lock() `lock current map,the main map Will not be changed unless you unlock`
```js
mapSyncControl.lock();
```
* unLock() `unlock`
```js
mapSyncControl.unLock();
```
* isLock()
```js
const isLock = mapSyncControl.isLock();
```
* dispose()
### events
* switchmainmap
```js
mapSyncControl.on('switchmainmap', e => {
console.log(e, e.map === e.target.getMainMap());
})
```