UNPKG

rc-bmap

Version:

<p align="center"> <img src="https://bmap.jser-club.com/home.png" width="200px"> </p> <p align="center">基于 React 的百度地图组件</p>

76 lines (52 loc) 2.01 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _class, _temp, _initialiseProps; var _utils = require('../utils'); var _utils2 = _interopRequireDefault(_utils); var _map = require('../utils/map'); var _map2 = _interopRequireDefault(_map); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var CustomOverlay = (_temp = _class = function CustomOverlay(config, map) { (0, _classCallCheck3.default)(this, CustomOverlay); _initialiseProps.call(this); this.config = (0, _extends3.default)({}, config); this.map = map; this.processOptions(config); }, _initialiseProps = function _initialiseProps() { var _this = this; this.config = {}; this.processOptions = function (_ref) { var visible = _ref.visible; if (!_utils2.default.isNil(visible)) { if (!visible) { _this.hide(); } else { _this.show(); } } }; this.repaint = function (config) { var diffConfig = _utils2.default.compareConfig(_this.config, config); _this.processOptions(diffConfig); _this.config = (0, _extends3.default)({}, _this.config, diffConfig); }; this.destroy = function () { _this.map.removeOverlay(_this); }; }, _temp); // 异步加载时,BMap对象不存在,所以提供获得类方法,确保调用时BMap对象存在。 var initCustomOverlay = function initCustomOverlay(config, initialize, draw, mapInstance) { CustomOverlay.prototype = _map2.default.BOverlay(); CustomOverlay.prototype.initialize = initialize; CustomOverlay.prototype.draw = draw; var overlay = new CustomOverlay(config, mapInstance); mapInstance.addOverlay(overlay); return overlay; }; exports.default = initCustomOverlay;