rc-bmap
Version:
<p align="center"> <img src="https://bmap.jser-club.com/home.png" width="200px"> </p> <p align="center">基于 React 的百度地图组件</p>
38 lines (32 loc) • 1.1 kB
JavaScript
import Util from '../utils';
import BMapUtil from '../utils/map';
import OPTIONS from '../options/circle';
import BaseOverlay from './BaseOverlay';
const getCircleOptions = config => ({
strokeColor: config.strokeColor,
fillColor: config.fillColor,
strokeWeight: config.strokeWeight,
strokeOpacity: config.strokeOpacity,
fillOpacity: config.fillOpacity,
strokeStyle: config.strokeStyle,
enableMassClear: config.massClear,
enableClicking: config.clicking,
});
class Circle extends BaseOverlay {
outOfRangeOpts = ['clicking']
init(config = {}) {
const options = getCircleOptions(config);
const center = Util.convert2BPoint(config.center);
this.instance = BMapUtil.BCircle(center, config.radius, options);
this.map.addOverlay(this.instance);
this.processOptions(config);
}
processOptions(config) {
if (config.center) {
config.center = Util.convert2BPoint(config.center);
}
Util.processSetOptions(this.instance, OPTIONS.SET, config);
Util.processBooleanOptions(this.instance, OPTIONS.BOOLEAN, config);
}
}
export default Circle;