UNPKG

google-maps-drawing-tools

Version:
31 lines 4.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const create_circle_1 = require("./create-circle"); const create_feature_1 = require("./create-feature"); function overlayToFeature(overlay) { let paths = []; if (overlay instanceof google.maps.Circle) { let center = overlay.getCenter(); let radius = overlay.getRadius(); let circle = create_circle_1.default({ 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 = create_feature_1.default(polygon); return feature; } exports.default = overlayToFeature; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS10by1mZWF0dXJlLmpzIiwic291cmNlUm9vdCI6Ii9Vc2Vycy9pcmFkY2hlbmtvL3dvcmtzcGFjZS9nb29nbGUtbWFwcy1kcmF3aW5nLXRvb2xzLyIsInNvdXJjZXMiOlsidXRpbHMvb3ZlcmxheS10by1mZWF0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBQTJDO0FBQzNDLHFEQUE2QztBQVM3QywwQkFBeUMsT0FBZ0I7SUFDdkQsSUFBSSxLQUFLLEdBQTJCLEVBQUUsQ0FBQztJQUV2QyxJQUFJLE9BQU8sWUFBWSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUN6QyxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakMsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pDLElBQUksTUFBTSxHQUFHLHVCQUFZLENBQUM7WUFDeEIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHLEVBQVk7WUFDM0IsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHLEVBQVk7WUFDM0IsTUFBTSxFQUFFLE1BQWdCO1NBQ3pCLENBQUMsQ0FBQztRQUVILEtBQUssR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ2xCO1NBQU0sSUFBSSxPQUFPLFlBQVksTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDbkQsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pDLElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMvQixJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDL0IsSUFBSSxFQUFFLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDcEQsSUFBSSxFQUFFLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDcEQsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUU1QixLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNoQjtJQUVELElBQUksT0FBTyxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xELElBQUksT0FBTyxHQUFHLHdCQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFckMsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQTVCRCxtQ0E0QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY3JlYXRlQ2lyY2xlIGZyb20gJy4vY3JlYXRlLWNpcmNsZSc7XG5pbXBvcnQgY3JlYXRlRmVhdHVyZSBmcm9tICcuL2NyZWF0ZS1mZWF0dXJlJztcblxuZXhwb3J0IHR5cGUgT3ZlcmxheSA9XG4gIHwgZ29vZ2xlLm1hcHMuTWFya2VyXG4gIHwgZ29vZ2xlLm1hcHMuUG9seWdvblxuICB8IGdvb2dsZS5tYXBzLlBvbHlsaW5lXG4gIHwgZ29vZ2xlLm1hcHMuUmVjdGFuZ2xlXG4gIHwgZ29vZ2xlLm1hcHMuQ2lyY2xlO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBvdmVybGF5VG9GZWF0dXJlKG92ZXJsYXk6IE92ZXJsYXkpIHtcbiAgbGV0IHBhdGhzOiBnb29nbGUubWFwcy5MYXRMbmdbXVtdID0gW107XG5cbiAgaWYgKG92ZXJsYXkgaW5zdGFuY2VvZiBnb29nbGUubWFwcy5DaXJjbGUpIHtcbiAgICBsZXQgY2VudGVyID0gb3ZlcmxheS5nZXRDZW50ZXIoKTtcbiAgICBsZXQgcmFkaXVzID0gb3ZlcmxheS5nZXRSYWRpdXMoKTtcbiAgICBsZXQgY2lyY2xlID0gY3JlYXRlQ2lyY2xlKHtcbiAgICAgIGxhdDogY2VudGVyLmxhdCgpIGFzIG51bWJlcixcbiAgICAgIGxuZzogY2VudGVyLmxuZygpIGFzIG51bWJlcixcbiAgICAgIHJhZGl1czogcmFkaXVzIGFzIG51bWJlcixcbiAgICB9KTtcblxuICAgIHBhdGhzID0gW2NpcmNsZV07XG4gIH0gZWxzZSBpZiAob3ZlcmxheSBpbnN0YW5jZW9mIGdvb2dsZS5tYXBzLlJlY3RhbmdsZSkge1xuICAgIGxldCBib3VuZHMgPSBvdmVybGF5LmdldEJvdW5kcygpO1xuICAgIGxldCBuZSA9IGJvdW5kcy5nZXROb3J0aEVhc3QoKTtcbiAgICBsZXQgc3cgPSBib3VuZHMuZ2V0U291dGhXZXN0KCk7XG4gICAgbGV0IG53ID0gbmV3IGdvb2dsZS5tYXBzLkxhdExuZyhuZS5sYXQoKSwgc3cubG5nKCkpO1xuICAgIGxldCBzZSA9IG5ldyBnb29nbGUubWFwcy5MYXRMbmcoc3cubGF0KCksIG5lLmxuZygpKTtcbiAgICBsZXQgcGF0aCA9IFtuZSwgc2UsIHN3LCBud107XG5cbiAgICBwYXRocyA9IFtwYXRoXTtcbiAgfVxuXG4gIGxldCBwb2x5Z29uID0gbmV3IGdvb2dsZS5tYXBzLkRhdGEuUG9seWdvbihwYXRocyk7XG4gIGxldCBmZWF0dXJlID0gY3JlYXRlRmVhdHVyZShwb2x5Z29uKTtcblxuICByZXR1cm4gZmVhdHVyZTtcbn1cbiJdfQ==