hik-map
Version:
- 提炼自浙江海康智联科技有限公司中后台产品的交互语言和视觉风格。 - 开箱即用的高质量 Vue 组件。
46 lines (45 loc) • 1.42 kB
text/typescript
const elasticMarker = function (mapInstance: any, elasticObj: any) {
if (!elasticObj.labelZoom) {
const arr = Object.keys(elasticObj.zoomStyleMapping);
elasticObj.labelZoom = arr[arr.length - 1];
}
new mapInstance.AMap.ElasticMarker({
map: mapInstance.map,
position: elasticObj.lnglat,
zooms: elasticObj.zooms,
styles: [
{
icon: {
img: elasticObj.smallIcon,
size: elasticObj.size, //原始图片大小
anchor: 'center', //锚点,图标原始大小下锚点所处的位置,相对左上角
fitZoom: elasticObj.fitZoom, //最合适的级别,在此级别下显示为原始大小
scaleFactor: 2, //地图放大一级的缩放比例系数
maxScale: 2, //最大放大比例
minScale: 0.125, //最小放大比例
},
label: {
content: elasticObj.label,
position: 'BM',
},
},
{
icon: {
img: elasticObj.bigIcon,
size: elasticObj.size,
anchor: 'center',
fitZoom: elasticObj.fitZoom,
scaleFactor: 2,
maxScale: 2,
minScale: 0.125,
},
label: {
content: elasticObj.label,
position: 'BM',
},
},
],
zoomStyleMapping: elasticObj.zoomStyleMapping,
});
};
export default elasticMarker;