@antv/l7-component 2.5.37-mini3 → 2.5.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/control/scale.ts"],"names":["bindAll","DOM","lnglatDistance","Control","PositionType","Scale","cfg","position","BOTTOMLEFT","maxWidth","metric","updateWhenIdle","imperial","name","className","container","create","addScales","controlOption","mapsService","on","update","off","y","getSize","p1","containerToLngLat","p2","maxMeters","lng","lat","updateScales","updateMetric","updateImperial","meters","getRoundNum","label","updateScale","mScale","maxFeet","maxMiles","miles","feet","iScale","scale","text","ratio","style","width","Math","round","innerHTML","num","pow10","pow","floor","length","d"],"mappings":"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","sourcesContent":["import { IControlOption } from '@antv/l7-core';\nimport { bindAll, DOM, lnglatDistance } from '@antv/l7-utils';\n\nimport Control, { PositionType } from './BaseControl';\nexport interface IScaleControlOption extends IControlOption {\n maxWidth: number;\n metric: boolean;\n updateWhenIdle: boolean;\n imperial: boolean;\n}\nexport default class Scale extends Control {\n private mScale: HTMLElement;\n private iScale: HTMLElement;\n constructor(cfg?: Partial<IScaleControlOption>) {\n super(cfg);\n bindAll(['update'], this);\n }\n\n public getDefault() {\n return {\n position: PositionType.BOTTOMLEFT,\n maxWidth: 100,\n metric: true,\n updateWhenIdle: false,\n imperial: false,\n name: 'scale',\n };\n }\n\n public onAdd() {\n const className = 'l7-control-scale';\n const container = DOM.create('div', className);\n this.addScales(className + '-line', container);\n const { updateWhenIdle } = this.controlOption;\n // TODO: 高德地图和MapBox地图事件不一致问题\n // 高德zoomchange\n this.mapsService.on(updateWhenIdle ? 'moveend' : 'mapmove', this.update);\n this.mapsService.on(updateWhenIdle ? 'zoomend' : 'zoomchange', this.update);\n this.update();\n\n return container;\n }\n public onRemove() {\n const { updateWhenIdle } = this.controlOption;\n this.mapsService.off(\n updateWhenIdle ? 'zoomend' : 'zoomchange',\n this.update,\n );\n this.mapsService.off(updateWhenIdle ? 'moveend' : 'mapmove', this.update);\n }\n public update() {\n const mapsService = this.mapsService;\n const { maxWidth } = this.controlOption;\n const y = mapsService.getSize()[1] / 2;\n\n const p1 = mapsService.containerToLngLat([0, y]);\n const p2 = mapsService.containerToLngLat([maxWidth, y]);\n const maxMeters = lnglatDistance([p1.lng, p1.lat], [p2.lng, p2.lat]);\n this.updateScales(maxMeters);\n }\n public updateScales(maxMeters: number) {\n const { metric, imperial } = this.controlOption;\n if (metric && maxMeters) {\n this.updateMetric(maxMeters);\n }\n if (imperial && maxMeters) {\n this.updateImperial(maxMeters);\n }\n }\n private updateMetric(maxMeters: number) {\n const meters = this.getRoundNum(maxMeters);\n const label = meters < 1000 ? meters + ' m' : meters / 1000 + ' km';\n this.updateScale(this.mScale, label, meters / maxMeters);\n }\n private updateImperial(maxMeters: number) {\n const maxFeet = maxMeters * 3.2808399;\n let maxMiles: number;\n let miles: number;\n let feet: number;\n\n if (maxFeet > 5280) {\n maxMiles = maxFeet / 5280;\n miles = this.getRoundNum(maxMiles);\n this.updateScale(this.iScale, miles + ' mi', miles / maxMiles);\n } else {\n feet = this.getRoundNum(maxFeet);\n this.updateScale(this.iScale, feet + ' ft', feet / maxFeet);\n }\n }\n private updateScale(scale: HTMLElement, text: string, ratio: number) {\n const { maxWidth } = this.controlOption;\n scale.style.width = Math.round(maxWidth * ratio) + 'px';\n scale.innerHTML = text;\n }\n private getRoundNum(num: number) {\n const pow10 = Math.pow(10, (Math.floor(num) + '').length - 1);\n let d = num / pow10;\n\n d = d >= 10 ? 10 : d >= 5 ? 5 : d >= 3 ? 3 : d >= 2 ? 2 : 1;\n\n return pow10 * d;\n }\n private addScales(className: string, container: HTMLElement) {\n const { metric, imperial } = this.controlOption;\n if (metric) {\n this.mScale = DOM.create('div', className, container);\n }\n if (imperial) {\n this.iScale = DOM.create('div', className, container);\n }\n }\n}\n"],"file":"scale.js"}
@@ -0,0 +1,30 @@
1
+ import { IControlOption } from '@antv/l7-core';
2
+ import Control, { PositionType } from './BaseControl';
3
+ export interface IZoomControlOption extends IControlOption {
4
+ zoomInText: string;
5
+ zoomInTitle: string;
6
+ zoomOutText: string;
7
+ zoomOutTitle: string;
8
+ }
9
+ export default class Zoom extends Control {
10
+ private disabled;
11
+ private zoomInButton;
12
+ private zoomOutButton;
13
+ constructor(cfg?: Partial<IZoomControlOption>);
14
+ getDefault(): {
15
+ position: PositionType;
16
+ zoomInText: string;
17
+ zoomInTitle: string;
18
+ zoomOutText: string;
19
+ zoomOutTitle: string;
20
+ name: string;
21
+ };
22
+ onAdd(): HTMLElement;
23
+ onRemove(): void;
24
+ disable(): this;
25
+ enable(): this;
26
+ private zoomIn;
27
+ private zoomOut;
28
+ private createButton;
29
+ private updateDisabled;
30
+ }
@@ -0,0 +1,128 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/createClass";
3
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
+ import _inherits from "@babel/runtime/helpers/inherits";
5
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
+
9
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
10
+
11
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
+
13
+ import { bindAll, DOM } from '@antv/l7-utils';
14
+ import Control, { PositionType } from './BaseControl';
15
+
16
+ var Zoom = function (_Control) {
17
+ _inherits(Zoom, _Control);
18
+
19
+ var _super = _createSuper(Zoom);
20
+
21
+ function Zoom(cfg) {
22
+ var _this;
23
+
24
+ _classCallCheck(this, Zoom);
25
+
26
+ _this = _super.call(this, cfg);
27
+
28
+ _defineProperty(_assertThisInitialized(_this), "disabled", void 0);
29
+
30
+ _defineProperty(_assertThisInitialized(_this), "zoomInButton", void 0);
31
+
32
+ _defineProperty(_assertThisInitialized(_this), "zoomOutButton", void 0);
33
+
34
+ bindAll(['updateDisabled', 'zoomIn', 'zoomOut'], _assertThisInitialized(_this));
35
+ return _this;
36
+ }
37
+
38
+ _createClass(Zoom, [{
39
+ key: "getDefault",
40
+ value: function getDefault() {
41
+ return {
42
+ position: PositionType.TOPLEFT,
43
+ zoomInText: '+',
44
+ zoomInTitle: 'Zoom in',
45
+ zoomOutText: '&#x2212;',
46
+ zoomOutTitle: 'Zoom out',
47
+ name: 'zoom'
48
+ };
49
+ }
50
+ }, {
51
+ key: "onAdd",
52
+ value: function onAdd() {
53
+ var zoomName = 'l7-control-zoom';
54
+ var container = DOM.create('div', zoomName + ' l7-bar');
55
+ this.zoomInButton = this.createButton(this.controlOption.zoomInText, this.controlOption.zoomInTitle, zoomName + '-in', container, this.zoomIn);
56
+ this.zoomOutButton = this.createButton(this.controlOption.zoomOutText, this.controlOption.zoomOutTitle, zoomName + '-out', container, this.zoomOut);
57
+ this.mapsService.on('zoomend', this.updateDisabled);
58
+ this.mapsService.on('zoomchange', this.updateDisabled);
59
+ this.updateDisabled();
60
+ return container;
61
+ }
62
+ }, {
63
+ key: "onRemove",
64
+ value: function onRemove() {
65
+ this.mapsService.off('zoomend', this.updateDisabled);
66
+ this.mapsService.off('zoomchange', this.updateDisabled);
67
+ }
68
+ }, {
69
+ key: "disable",
70
+ value: function disable() {
71
+ this.disabled = true;
72
+ this.updateDisabled();
73
+ return this;
74
+ }
75
+ }, {
76
+ key: "enable",
77
+ value: function enable() {
78
+ this.disabled = false;
79
+ this.updateDisabled();
80
+ return this;
81
+ }
82
+ }, {
83
+ key: "zoomIn",
84
+ value: function zoomIn() {
85
+ if (!this.disabled && this.mapsService.getZoom() < this.mapsService.getMaxZoom()) {
86
+ this.mapsService.zoomIn();
87
+ }
88
+ }
89
+ }, {
90
+ key: "zoomOut",
91
+ value: function zoomOut() {
92
+ if (!this.disabled && this.mapsService.getZoom() > this.mapsService.getMinZoom()) {
93
+ this.mapsService.zoomOut();
94
+ }
95
+ }
96
+ }, {
97
+ key: "createButton",
98
+ value: function createButton(html, tile, className, container, fn) {
99
+ var link = DOM.create('a', className, container);
100
+ link.innerHTML = html;
101
+ link.title = tile;
102
+ link.href = 'javascript:void(0)';
103
+ link.addEventListener('click', fn);
104
+ return link;
105
+ }
106
+ }, {
107
+ key: "updateDisabled",
108
+ value: function updateDisabled() {
109
+ var mapsService = this.mapsService;
110
+ var className = 'l7-disabled';
111
+ DOM.removeClass(this.zoomInButton, className);
112
+ DOM.removeClass(this.zoomOutButton, className);
113
+
114
+ if (this.disabled || mapsService.getZoom() <= mapsService.getMinZoom()) {
115
+ DOM.addClass(this.zoomOutButton, className);
116
+ }
117
+
118
+ if (this.disabled || mapsService.getZoom() >= mapsService.getMaxZoom()) {
119
+ DOM.addClass(this.zoomInButton, className);
120
+ }
121
+ }
122
+ }]);
123
+
124
+ return Zoom;
125
+ }(Control);
126
+
127
+ export { Zoom as default };
128
+ //# sourceMappingURL=zoom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/control/zoom.ts"],"names":["bindAll","DOM","Control","PositionType","Zoom","cfg","position","TOPLEFT","zoomInText","zoomInTitle","zoomOutText","zoomOutTitle","name","zoomName","container","create","zoomInButton","createButton","controlOption","zoomIn","zoomOutButton","zoomOut","mapsService","on","updateDisabled","off","disabled","getZoom","getMaxZoom","getMinZoom","html","tile","className","fn","link","innerHTML","title","href","addEventListener","removeClass","addClass"],"mappings":"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","sourcesContent":["import { IControlOption } from '@antv/l7-core';\nimport { bindAll, DOM } from '@antv/l7-utils';\nimport Control, { PositionType } from './BaseControl';\nexport interface IZoomControlOption extends IControlOption {\n zoomInText: string;\n zoomInTitle: string;\n zoomOutText: string;\n zoomOutTitle: string;\n}\nexport default class Zoom extends Control {\n private disabled: boolean;\n private zoomInButton: HTMLElement;\n private zoomOutButton: HTMLElement;\n\n constructor(cfg?: Partial<IZoomControlOption>) {\n super(cfg);\n bindAll(['updateDisabled', 'zoomIn', 'zoomOut'], this);\n }\n public getDefault() {\n return {\n position: PositionType.TOPLEFT,\n zoomInText: '+',\n zoomInTitle: 'Zoom in',\n zoomOutText: '&#x2212;',\n zoomOutTitle: 'Zoom out',\n name: 'zoom',\n };\n }\n\n public onAdd(): HTMLElement {\n const zoomName = 'l7-control-zoom';\n const container = DOM.create('div', zoomName + ' l7-bar');\n\n this.zoomInButton = this.createButton(\n this.controlOption.zoomInText,\n this.controlOption.zoomInTitle,\n zoomName + '-in',\n container,\n this.zoomIn,\n );\n this.zoomOutButton = this.createButton(\n this.controlOption.zoomOutText,\n this.controlOption.zoomOutTitle,\n zoomName + '-out',\n container,\n this.zoomOut,\n );\n this.mapsService.on('zoomend', this.updateDisabled);\n this.mapsService.on('zoomchange', this.updateDisabled);\n this.updateDisabled();\n return container;\n }\n\n public onRemove() {\n this.mapsService.off('zoomend', this.updateDisabled);\n this.mapsService.off('zoomchange', this.updateDisabled);\n }\n\n public disable() {\n this.disabled = true;\n this.updateDisabled();\n return this;\n }\n\n public enable() {\n this.disabled = false;\n this.updateDisabled();\n return this;\n }\n\n private zoomIn() {\n if (\n !this.disabled &&\n this.mapsService.getZoom() < this.mapsService.getMaxZoom()\n ) {\n this.mapsService.zoomIn();\n }\n }\n private zoomOut() {\n if (\n !this.disabled &&\n this.mapsService.getZoom() > this.mapsService.getMinZoom()\n ) {\n this.mapsService.zoomOut();\n }\n }\n private createButton(\n html: string,\n tile: string,\n className: string,\n container: HTMLElement,\n fn: (...arg: any[]) => any,\n ) {\n const link = DOM.create('a', className, container) as HTMLLinkElement;\n link.innerHTML = html;\n link.title = tile;\n link.href = 'javascript:void(0)';\n link.addEventListener('click', fn);\n return link;\n }\n private updateDisabled() {\n const mapsService = this.mapsService;\n const className = 'l7-disabled';\n DOM.removeClass(this.zoomInButton, className);\n DOM.removeClass(this.zoomOutButton, className);\n if (this.disabled || mapsService.getZoom() <= mapsService.getMinZoom()) {\n DOM.addClass(this.zoomOutButton, className);\n }\n if (this.disabled || mapsService.getZoom() >= mapsService.getMaxZoom()) {\n DOM.addClass(this.zoomInButton, className);\n }\n }\n}\n"],"file":"zoom.js"}
package/es/index.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ import Control from './control/BaseControl';
2
+ import Layers from './control/layer';
3
+ import Logo from './control/logo';
4
+ import Scale from './control/scale';
5
+ import Zoom from './control/zoom';
6
+ import Marker from './marker';
7
+ import MarkerLayer from './markerlayer';
8
+ import Popup from './popup';
9
+ import './css/l7.css';
10
+ export { Control, Logo, Scale, Zoom, Layers, Marker, Popup, MarkerLayer };
package/es/index.js ADDED
@@ -0,0 +1,52 @@
1
+ import Control from './control/BaseControl';
2
+ import Layers from './control/layer';
3
+ import Logo from './control/logo';
4
+ import Scale from './control/scale';
5
+ import Zoom from './control/zoom';
6
+ import Marker from './marker';
7
+ import MarkerLayer from './markerlayer';
8
+ import Popup from './popup';
9
+
10
+ function loadStyles(css, doc) {
11
+ var isMiniAli = typeof my !== 'undefined' && !!my && typeof my.showToast === 'function';
12
+ var isWeChatMiniProgram = typeof wx !== 'undefined' && wx !== null && (typeof wx.request !== 'undefined' || typeof wx.miniProgram !== 'undefined');
13
+
14
+ if (isMiniAli || isWeChatMiniProgram) {
15
+ return;
16
+ }
17
+
18
+ if (!doc) doc = document;
19
+
20
+ if (!doc) {
21
+ return;
22
+ }
23
+
24
+ var head = doc.head || doc.getElementsByTagName('head')[0];
25
+
26
+ if (!head) {
27
+ head = doc.createElement('head');
28
+ var body = doc.body || doc.getElementsByTagName('body')[0];
29
+
30
+ if (body) {
31
+ body.parentNode.insertBefore(head, body);
32
+ } else {
33
+ doc.documentElement.appendChild(head);
34
+ }
35
+ }
36
+
37
+ var style = doc.createElement('style');
38
+ style.type = 'text/css';
39
+
40
+ if (style.styleSheet) {
41
+ style.styleSheet.cssText = css;
42
+ } else {
43
+ style.appendChild(doc.createTextNode(css));
44
+ }
45
+
46
+ head.appendChild(style);
47
+ return style;
48
+ }
49
+
50
+ loadStyles(".l7-marker-container {\n width: 100%;\n height: 100%;\n overflow: hidden;\n position: absolute;\n}\n\n.l7-marker {\n position: absolute !important;\n top: 0;\n left: 0;\n z-index: 5;\n cursor: pointer;\n}\n\n.l7-marker-cluster {\n background-clip: padding-box;\n border-radius: 20px;\n background-color: rgba(181, 226, 140, 0.6);\n width: 40px;\n height: 40px;\n}\n.l7-marker-cluster div {\n width: 30px;\n height: 30px;\n margin-left: 5px;\n margin-top: 5px;\n text-align: center;\n border-radius: 15px;\n font: 12px 'Helvetica Neue', Arial, Helvetica, sans-serif;\n background-color: rgba(110, 204, 57, 0.6);\n}\n.l7-marker-cluster span {\n line-height: 30px;\n}\n\n.l7-popup-anchor-bottom,\n.l7-popup-anchor-bottom-left,\n.l7-popup-anchor-bottom-right {\n -webkit-box-orient: vertical;\n -webkit-box-direction: reverse;\n -ms-flex-direction: column-reverse;\n flex-direction: column-reverse;\n}\n\n.l7-popup-close-button {\n position: absolute;\n right: 0;\n top: 0;\n border: 0;\n border-radius: 0 3px 0 0;\n cursor: pointer;\n background-color: transparent;\n}\n\n.l7-popup-close-button:hover {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.l7-popup-content {\n position: relative;\n background: #fff;\n border-radius: 3px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n padding: 10px 10px 15px;\n pointer-events: auto;\n}\n\n/* layers control */\n\n.l7-control-layers {\n -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);\n box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);\n background: #fff;\n border-radius: 5px;\n}\n.l7-popup-anchor-top,\n.l7-popup-anchor-top-left,\n.l7-popup-anchor-top-right {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n.l7-popup-anchor-left {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: normal;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n\n.l7-popup-anchor-right {\n -webkit-box-orient: horizontal;\n -webkit-box-direction: reverse;\n -ms-flex-direction: row-reverse;\n flex-direction: row-reverse;\n}\n.l7-popup {\n position: absolute;\n top: 0;\n left: 0;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n will-change: transform;\n pointer-events: none;\n z-index: 5;\n}\n.l7-popup-tip {\n width: 0;\n height: 0;\n border: 10px solid transparent;\n z-index: 1;\n}\n.l7-popup-anchor-top .l7-popup-tip {\n -webkit-align-self: center;\n -ms-flex-item-align: center;\n align-self: center;\n border-top: none;\n border-bottom-color: #fff;\n}\n\n.l7-popup-anchor-top-left .l7-popup-tip {\n -webkit-align-self: flex-start;\n -ms-flex-item-align: start;\n align-self: flex-start;\n border-top: none;\n border-left: none;\n border-bottom-color: #fff;\n}\n\n.l7-popup-anchor-top-right .l7-popup-tip {\n -webkit-align-self: flex-end;\n -ms-flex-item-align: end;\n align-self: flex-end;\n border-top: none;\n border-right: none;\n border-bottom-color: #fff;\n}\n\n.l7-popup-anchor-bottom .l7-popup-tip {\n -webkit-align-self: center;\n -ms-flex-item-align: center;\n align-self: center;\n border-bottom: none;\n border-top-color: #fff;\n}\n\n.l7-popup-anchor-bottom-left .l7-popup-tip {\n -webkit-align-self: flex-start;\n -ms-flex-item-align: start;\n align-self: flex-start;\n border-bottom: none;\n border-left: none;\n border-top-color: #fff;\n}\n\n.l7-popup-anchor-bottom-right .l7-popup-tip {\n -webkit-align-self: flex-end;\n -ms-flex-item-align: end;\n align-self: flex-end;\n border-bottom: none;\n border-right: none;\n border-top-color: #fff;\n}\n\n.l7-popup-anchor-left .l7-popup-tip {\n -webkit-align-self: center;\n -ms-flex-item-align: center;\n align-self: center;\n border-left: none;\n border-right-color: #fff;\n}\n\n.l7-popup-anchor-right .l7-popup-tip {\n -webkit-align-self: center;\n -ms-flex-item-align: center;\n align-self: center;\n border-right: none;\n border-left-color: #fff;\n}\n\n.l7-popup-close-button {\n position: absolute;\n right: 0;\n top: 0;\n border: 0;\n padding: 0;\n font-size: 25px;\n line-height: 20px;\n border-radius: 0 3px 0 0;\n cursor: pointer;\n background-color: transparent;\n}\n\n.l7-popup-close-button:hover {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.l7-popup-content {\n position: relative;\n background: #fff;\n border-radius: 3px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n padding: 10px 10px 15px;\n pointer-events: auto;\n}\n\n.l7-popup-anchor-top-left .l7-popup-content {\n border-top-left-radius: 0;\n}\n\n.l7-popup-anchor-top-right .l7-popup-content {\n border-top-right-radius: 0;\n}\n\n.l7-popup-anchor-bottom-left .l7-popup-content {\n border-bottom-left-radius: 0;\n}\n\n.l7-popup-anchor-bottom-right .l7-popup-content {\n border-bottom-right-radius: 0;\n}\n\n.l7-popup-track-pointer {\n display: none;\n}\n\n.l7-popup-track-pointer * {\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.l7-map:hover .l7-popup-track-pointer {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n\n.l7-map:active .l7-popup-track-pointer {\n display: none;\n}\n\n.l7-popup-close-button:hover {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.l7-popup-content {\n position: relative;\n background: #fff;\n border-radius: 3px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n padding: 10px 10px 15px;\n pointer-events: auto;\n}\n\n/* general toolbar styles */\n\n.l7-bar {\n -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);\n box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);\n border-radius: 4px;\n}\n.l7-bar a,\n.l7-bar a:hover {\n background-color: #fff;\n width: 30px;\n height: 30px;\n font-size: 20px;\n display: block;\n text-align: center;\n text-decoration: none;\n color: #8e9dab;\n}\n.l7-bar a,\n.l7-control-layers-toggle {\n background-position: 50% 50%;\n background-repeat: no-repeat;\n display: block;\n}\n.l7-bar a:hover {\n background-color: #f4f4f4;\n}\n.l7-bar a:first-child {\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n}\n.l7-bar a:last-child {\n border-bottom-left-radius: 2px;\n border-bottom-right-radius: 2px;\n border-bottom: none;\n}\n.l7-bar a.l7-disabled {\n cursor: default;\n background-color: #f4f4f4;\n color: #bbb;\n}\n\n/* control positioning */\n\n.l7-control-container {\n font: 12px/1.5 'Helvetica Neue', Arial, Helvetica, sans-serif;\n}\n.l7-control-hide {\n display: none;\n}\n.l7-control {\n position: relative;\n z-index: 800;\n pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */\n pointer-events: auto;\n}\n.l7-control {\n float: left;\n clear: both;\n}\n.l7-top,\n.l7-bottom {\n position: absolute;\n z-index: 1000;\n pointer-events: none;\n}\n.l7-top {\n top: 0;\n}\n.l7-right {\n right: 0;\n}\n.l7-bottom {\n bottom: 0;\n}\n.l7-left {\n left: 0;\n}\n.l7-center {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n position: absolute;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.l7-bottom.l7-center,\n.l7-top.l7-center {\n width: 100%;\n}\n.l7-right.l7-center,\n.l7-left.l7-center {\n height: 100%;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n.l7-top.l7-center,\n.l7-left.l7-center {\n -webkit-box-align: start;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n\n.l7-bottom.l7-center,\n.l7-right.l7-center {\n -webkit-box-align: end;\n -ms-flex-align: end;\n align-items: flex-end;\n}\n\n.l7-center .l7-control {\n margin-right: 10px;\n margin-bottom: 10px;\n}\n\n.l7-control {\n float: left;\n clear: both;\n}\n.l7-right .l7-control {\n float: right;\n}\n.l7-top .l7-control {\n margin-top: 10px;\n}\n.l7-bottom .l7-control {\n margin-bottom: 10px;\n}\n.l7-left .l7-control {\n margin-left: 10px;\n}\n.l7-right .l7-control {\n margin-right: 10px;\n}\n\n/* attribution and scale controls */\n\n.l7-control-container .l7-control-attribution {\n background: #fff;\n background: rgba(255, 255, 255, 0.7);\n margin: 0;\n}\n.l7-control-attribution,\n.l7-control-scale-line {\n padding: 0 5px;\n color: #333;\n}\n.l7-control-attribution a {\n text-decoration: none;\n}\n.l7-control-attribution a:hover {\n text-decoration: underline;\n}\n.l7-container .l7-control-attribution,\n.l7-container .l7-control-scale {\n font-size: 11px;\n padding: 5px 5px 2px 5px;\n background: rgba(255, 255, 255, 0.7);\n}\n.l7-left .l7-control-scale {\n margin-left: 5px;\n}\n.l7-bottom .l7-control-scale {\n margin-bottom: 5px;\n}\n.l7-control-scale-line {\n border: 2px solid #000;\n border-top: none;\n color: #000;\n line-height: 1.1;\n padding: 2px 5px 1px;\n font-size: 11px;\n white-space: nowrap;\n overflow: hidden;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n\n background: #fff;\n}\n.l7-control-scale-line:not(:first-child) {\n border-top: 2px solid #777;\n border-bottom: none;\n margin-top: -2px;\n}\n.l7-control-scale-line:not(:first-child):not(:last-child) {\n border-bottom: 2px solid #777;\n}\n\n.l7-touch .l7-control-attribution,\n.l7-touch .l7-control-layers,\n.l7-touch .l7-bar {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.l7-touch .l7-control-layers,\n.l7-touch .l7-bar {\n border: 2px solid rgba(0, 0, 0, 0.2);\n background-clip: padding-box;\n}\n/*logo */\n\n.l7-ctrl-logo {\n background-size: 100% 100%;\n width: 89px;\n height: 16px;\n margin: 0 0 -3px -3px;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n background-repeat: no-repeat;\n cursor: pointer;\n background-image: url('data:image/png;base64,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');\n}\n\n/* layers control */\n\n.l7-control-layers {\n -webkit-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.4);\n box-shadow: 0 1px 8px rgba(0, 0, 0, 0.4);\n background: #fff;\n border-radius: 2px;\n}\n.l7-control-layers-toggle {\n background-image: url('data:image/png;base64,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');\n width: 30px;\n height: 30px;\n background-size: 20px 20px;\n}\n\n.l7-touch .l7-control-layers-toggle {\n width: 44px;\n height: 44px;\n}\n.l7-control-layers .l7-control-layers-list,\n.l7-control-layers-expanded .l7-control-layers-toggle {\n display: none;\n}\n.l7-control-layers-expanded .l7-control-layers-list {\n display: block;\n position: relative;\n}\n.l7-control-layers-expanded {\n padding: 6px 10px 6px 6px;\n color: #59626b;\n background: #fff;\n}\n.l7-control-layers-scrollbar {\n overflow-y: scroll;\n overflow-x: hidden;\n padding-right: 5px;\n}\n.l7-control-layers-selector {\n margin-top: 2px;\n position: relative;\n top: 1px;\n}\n.l7-control-layers label {\n display: block;\n padding: 8px;\n}\n.l7-control-layers label input[type='radio'],\n.l7-control-layers label input[type='checkbox'] {\n width: 14px;\n height: 14px;\n margin: 0;\n}\n.l7-control-layers-separator {\n height: 0;\n border-top: 1px solid #d8d8d8;\n margin: 5px -10px 5px -6px;\n}\n.mapboxgl-ctrl-logo {\n display: none !important;\n}\n.amap-logo {\n display: none !important;\n}\n");
51
+ export { Control, Logo, Scale, Zoom, Layers, Marker, Popup, MarkerLayer };
52
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"names":["Control","Layers","Logo","Scale","Zoom","Marker","MarkerLayer","Popup"],"mappings":"AAAA,OAAOA,OAAP,MAAoB,uBAApB;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,KAAP,MAAkB,iBAAlB;AACA,OAAOC,IAAP,MAAiB,gBAAjB;AACA,OAAOC,MAAP,MAAmB,UAAnB;AACA,OAAOC,WAAP,MAAwB,eAAxB;AACA,OAAOC,KAAP,MAAkB,SAAlB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,SAASP,OAAT,EAAkBE,IAAlB,EAAwBC,KAAxB,EAA+BC,IAA/B,EAAqCH,MAArC,EAA6CI,MAA7C,EAAqDE,KAArD,EAA4DD,WAA5D","sourcesContent":["import Control from './control/BaseControl';\nimport Layers from './control/layer';\nimport Logo from './control/logo';\nimport Scale from './control/scale';\nimport Zoom from './control/zoom';\nimport Marker from './marker';\nimport MarkerLayer from './markerlayer';\nimport Popup from './popup';\n\n// 引入样式\n// TODO: 使用 Less 或者 Sass,每个组件单独引用自身样式\nimport './css/l7.css';\n\nexport { Control, Logo, Scale, Zoom, Layers, Marker, Popup, MarkerLayer };\n"],"file":"index.js"}
package/es/marker.d.ts ADDED
@@ -0,0 +1,47 @@
1
+ import { ILngLat, IMarkerOption, IPoint, IPopup } from '@antv/l7-core';
2
+ import { anchorType } from '@antv/l7-utils';
3
+ import { EventEmitter } from 'eventemitter3';
4
+ import { Container } from 'inversify';
5
+ export default class Marker extends EventEmitter {
6
+ private markerOption;
7
+ private defaultMarker;
8
+ private popup;
9
+ private mapsService;
10
+ private sceneSerive;
11
+ private lngLat;
12
+ private scene;
13
+ private added;
14
+ constructor(option?: Partial<IMarkerOption>);
15
+ getDefault(): {
16
+ element: undefined;
17
+ anchor: anchorType;
18
+ offsets: number[];
19
+ color: string;
20
+ draggable: boolean;
21
+ };
22
+ addTo(scene: Container): this;
23
+ remove(): this;
24
+ setLnglat(lngLat: ILngLat | IPoint): this;
25
+ getLnglat(): ILngLat;
26
+ getElement(): HTMLElement;
27
+ setElement(el: HTMLElement): this;
28
+ openPopup(): this;
29
+ closePopup(): this;
30
+ setPopup(popup: IPopup): this;
31
+ togglePopup(): this;
32
+ getPopup(): IPopup;
33
+ getOffset(): number[];
34
+ setDraggable(draggable: boolean): void;
35
+ isDraggable(): boolean;
36
+ getExtData(): any;
37
+ setExtData(data: any): void;
38
+ private update;
39
+ private onMapClick;
40
+ private updatePosition;
41
+ private init;
42
+ private registerMarkerEvent;
43
+ private unRegisterMarkerEvent;
44
+ private eventHandle;
45
+ private addDragHandler;
46
+ private onUp;
47
+ }