async created () {
await remoteLoad(`https://webapi.amap.com/maps?v=1.4.15&key=${MapKey}&plugin=AMap.DistrictSearch`);
await remoteLoad(`https://webapi.amap.com/ui/1.1/ui/control/BasicControl/examples/`);
await remoteLoad('http://webapi.amap.com/ui/1.1/main.js');
},
methods: {
initPoint(_point) {
let AMap = this.AMap = window.AMap;
let map = new AMap.Map('container', {
center: [112.548093,37.874332],
zoom: 6.5,
mapStyle: 'amap://styles/whitesmoke',
});
this.map = map;
AMapUI.load(['ui/misc/PointSimplifier', 'lib/$'], function(PointSimplifier, $) {
let data = _point;
let pointSimplifierIns, groupStyleMap, dataItems;
groupStyleMap = {};
let loop = ['03034010200203', '03034010200205', '03034010200201', '030001', '030002', '030003', '030004']
loop.forEach((arr) => {
let result = getStyle(arr);
groupStyleMap[arr] = {
pointStyle: {
content: PointSimplifier.Render.Canvas.getImageContent(
require('@/assets/imgs/' + result.url), onIconLoad, onIconError),
width: result.width,
height: result.height,
offset: ['-50%', '-50%'],
fillStyle: null,
}
}
})
pointSimplifierIns = new PointSimplifier({
zIndex: 115,
map: that.map,
getPosition: function (item) {
return item.lngLatLine;
},
getHoverTitle: function (dataItem, idx) {
return dataItem.stationName;
},
renderConstructor: PointSimplifier.Render.Canvas.GroupStyleRender,
renderOptions: {
pointStyle: {
width: 0,
height: 0,
fillStyle: '#A2D0FA'
},
pointHoverStyle: {
width: 0,
height: 0,
content: '',
fillStyle: null,
lineWidth: 0,
strokeStyle: null
},
getGroupId: function (item, idx) {
return item._fullType;
},
groupStyleOptions: function (gid) {
return groupStyleMap[gid];
},
}
});
pointSimplifierIns.on('pointMouseover', function (e, record) {});
pointSimplifierIns.on('pointMouseout', function (e, record) {});
that.map.on('rightclick', function (e) {});
window.pointSimplifierIns = pointSimplifierIns;
pointSimplifierIns.on('pointClick', function (e, record) {}
function onIconLoad() {
pointSimplifierIns.renderLater();
}
function onIconError(e) {
console.log(e, 'e')
}
})
},
function getStyle (gid) {
let url = '';
let width = parseInt('');
let height = parseInt('');
if (gid == '03034010200203') {
url = '1.png';
width = 20;
height = 20;
} else if (gid == '03034010200205') {
url = '2png';
width = 20;
height = 20;
}
return {url, width, height};
}
}