maptalks.multisuite
An Suite to Combine <-> Decompose, Peel <-> Fill MultiPolygon.
Examples
DEMO
Tips
Combine <-> Decompose with Circle also has bug of maptalks, see the issue
Install
- Install with npm:
npm install maptalks.multisuite
. - Download from dist directory.
- Use unpkg CDN:
https://cdn.jsdelivr.net/npm/maptalks.multisuite/dist/maptalks.multisuite.min.js
Usage
As a plugin, maptalks.multisuite
must be loaded after maptalks.js
in browsers. You can also use 'import { MultiSuite } from "maptalks.multisuite"
when developing with webpack.
<!-- ... -->
<script src="https://cdn.jsdelivr.net/npm/maptalks.geosplit/dist/maptalks.multisuite.min.js"></script>
<!-- ... -->
// new MultiSuite and layer
const ms = new maptalks.MultiSuite()
const layer = new maptalks.VectorLayer('v').addTo(map)
// use MultiSuite API, targets is not necessary parameters and if no targets user will choose geometry on the map
// get details in API Reference
API Reference
new maptalks.MultiSuite()
- options
- colorHit String the color of symbol when geo hit
- colorChosen String the color of symbol when geo chosen
combine(geometry, targets)
if no targets, start choose mode on map
decompose(geometry, targets)
same as above
peel(geometry, targets)
same as above
fill(geometry, targets, fillAll)
same as above. And if fillAll, the result is An Polygon, else is always MultiPolygon
submit(callback)
callback can get three attr, the result, deals(targets or choose-targets) and task name.
cancel()
remove()
Contributing
We welcome any kind of contributions including issue reportings, pull requests, documentation corrections, feature requests and any other helps.
Develop
The only source file is index.js
.
It is written in ES6, transpiled by babel and tested with mocha and expect.js.
Scripts
- Install dependencies
$ npm install
- Watch source changes and generate runnable bundle repeatedly
$ gulp watch
- Tests
$ npm test
- Watch source changes and run tests repeatedly
$ gulp tdd
- Package and generate minified bundles to dist directory
$ gulp minify
- Lint
$ npm run lint