UNPKG

google-maps-drawing-tools

Version:
28 lines 4.28 kB
import createCircle from './create-circle'; import createFeature from './create-feature'; export default function overlayToFeature(overlay) { let paths = []; if (overlay instanceof google.maps.Circle) { let center = overlay.getCenter(); let radius = overlay.getRadius(); let circle = createCircle({ lat: center.lat(), lng: center.lng(), radius: radius, }); paths = [circle]; } else if (overlay instanceof google.maps.Rectangle) { let bounds = overlay.getBounds(); let ne = bounds.getNorthEast(); let sw = bounds.getSouthWest(); let nw = new google.maps.LatLng(ne.lat(), sw.lng()); let se = new google.maps.LatLng(sw.lat(), ne.lng()); let path = [ne, se, sw, nw]; paths = [path]; } let polygon = new google.maps.Data.Polygon(paths); let feature = createFeature(polygon); return feature; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS10by1mZWF0dXJlLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9pcmFkY2hlbmtvL3dvcmtzcGFjZS9nb29nbGUtbWFwcy1kcmF3aW5nLXRvb2xzLyIsInNvdXJjZXMiOlsidXRpbHMvb3ZlcmxheS10by1mZWF0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sWUFBWSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sYUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBUzdDLE1BQU0sQ0FBQyxPQUFPLDJCQUEyQixPQUFnQjtJQUN2RCxJQUFJLEtBQUssR0FBMkIsRUFBRSxDQUFDO0lBRXZDLElBQUksT0FBTyxZQUFZLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ3pDLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQyxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakMsSUFBSSxNQUFNLEdBQUcsWUFBWSxDQUFDO1lBQ3hCLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFZO1lBQzNCLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFZO1lBQzNCLE1BQU0sRUFBRSxNQUFnQjtTQUN6QixDQUFDLENBQUM7UUFFSCxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNsQjtTQUFNLElBQUksT0FBTyxZQUFZLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1FBQ25ELElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQyxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDL0IsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQy9CLElBQUksRUFBRSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELElBQUksRUFBRSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFNUIsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDaEI7SUFFRCxJQUFJLE9BQU8sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRCxJQUFJLE9BQU8sR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFckMsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjcmVhdGVDaXJjbGUgZnJvbSAnLi9jcmVhdGUtY2lyY2xlJztcbmltcG9ydCBjcmVhdGVGZWF0dXJlIGZyb20gJy4vY3JlYXRlLWZlYXR1cmUnO1xuXG5leHBvcnQgdHlwZSBPdmVybGF5ID1cbiAgfCBnb29nbGUubWFwcy5NYXJrZXJcbiAgfCBnb29nbGUubWFwcy5Qb2x5Z29uXG4gIHwgZ29vZ2xlLm1hcHMuUG9seWxpbmVcbiAgfCBnb29nbGUubWFwcy5SZWN0YW5nbGVcbiAgfCBnb29nbGUubWFwcy5DaXJjbGU7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG92ZXJsYXlUb0ZlYXR1cmUob3ZlcmxheTogT3ZlcmxheSkge1xuICBsZXQgcGF0aHM6IGdvb2dsZS5tYXBzLkxhdExuZ1tdW10gPSBbXTtcblxuICBpZiAob3ZlcmxheSBpbnN0YW5jZW9mIGdvb2dsZS5tYXBzLkNpcmNsZSkge1xuICAgIGxldCBjZW50ZXIgPSBvdmVybGF5LmdldENlbnRlcigpO1xuICAgIGxldCByYWRpdXMgPSBvdmVybGF5LmdldFJhZGl1cygpO1xuICAgIGxldCBjaXJjbGUgPSBjcmVhdGVDaXJjbGUoe1xuICAgICAgbGF0OiBjZW50ZXIubGF0KCkgYXMgbnVtYmVyLFxuICAgICAgbG5nOiBjZW50ZXIubG5nKCkgYXMgbnVtYmVyLFxuICAgICAgcmFkaXVzOiByYWRpdXMgYXMgbnVtYmVyLFxuICAgIH0pO1xuXG4gICAgcGF0aHMgPSBbY2lyY2xlXTtcbiAgfSBlbHNlIGlmIChvdmVybGF5IGluc3RhbmNlb2YgZ29vZ2xlLm1hcHMuUmVjdGFuZ2xlKSB7XG4gICAgbGV0IGJvdW5kcyA9IG92ZXJsYXkuZ2V0Qm91bmRzKCk7XG4gICAgbGV0IG5lID0gYm91bmRzLmdldE5vcnRoRWFzdCgpO1xuICAgIGxldCBzdyA9IGJvdW5kcy5nZXRTb3V0aFdlc3QoKTtcbiAgICBsZXQgbncgPSBuZXcgZ29vZ2xlLm1hcHMuTGF0TG5nKG5lLmxhdCgpLCBzdy5sbmcoKSk7XG4gICAgbGV0IHNlID0gbmV3IGdvb2dsZS5tYXBzLkxhdExuZyhzdy5sYXQoKSwgbmUubG5nKCkpO1xuICAgIGxldCBwYXRoID0gW25lLCBzZSwgc3csIG53XTtcblxuICAgIHBhdGhzID0gW3BhdGhdO1xuICB9XG5cbiAgbGV0IHBvbHlnb24gPSBuZXcgZ29vZ2xlLm1hcHMuRGF0YS5Qb2x5Z29uKHBhdGhzKTtcbiAgbGV0IGZlYXR1cmUgPSBjcmVhdGVGZWF0dXJlKHBvbHlnb24pO1xuXG4gIHJldHVybiBmZWF0dXJlO1xufVxuIl19