@yandex/ymaps3-cartesian-projection package
Yandex JS API package
This package will project your cartesian dimensions to Yandex JS API world representation (see scheme of work below). Then you can use it as YMap
location
property, in YMapListener
handlers, etc.
Install
You can install this package via npm:
npm install --save @yandex/ymaps3-cartesian-projection
How use
To use Cartesian projection, just import it:
import {Cartesian} from '@yandex/ymaps3-cartesian-projection';
const projection = new Cartesian([
[-400, -600],
[400, 600],
]);
console.log(projection.toWorldCoordinates([-400, 600]))
console.log(projection.toWorldCoordinates([200, 0]))
console.log(projection.toWorldCoordinates([0, -75]))
console.log(projection.fromWorldCoordinates({x: -1, y: 1}))
console.log(projection.fromWorldCoordinates({x: 0.5, y: 0}))
console.log(projection.fromWorldCoordinates({x: 0, y: -0.125}))
Usage without npm
You can use some CDN with ymaps3.import
JS API module loading handler on your page:
const pkg = await ymaps3.import('@yandex/ymaps3-cartesian-projection');
NOTE:
By default ymaps3.import
can load self modules, scripts or style.
To make the code above work, you should add a loader:
ymaps3.import.loaders.unshift(async (pkg) => {
if (!pkg.includes('@yandex/ymaps3-cartesian-projection')) return;
await ymaps3.import.script(`https://unpkg.com/${pkg}/dist/index.js`);
return window['@yandex/ymaps3-cartesian-projection'];
});