<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=123123123"></script>
<script type="text/javascript" src="<%BASE_URL%>utils/TextIconOverlay_min.js"></script>
<script type="text/javascript" src="<%BASE_URL%>utils/MarkerClusterer.js"></script>
createMap(res) {
let map = new BMap.Map("allmap");
let [mapData, that] = [this.$store.state.map, this];
map.centerAndZoom(
new BMap.Point(mapData.position.jd, mapData.position.wd),
mapData.scale
);
map.enableScrollWheelZoom();
let markers = [];
res.data.map(item => {
let pt = new BMap.Point(item.Jd, item.Wd);
const [success, error] = [
new BMap.Icon(require('@/assets/home/success.png'), new BMap.Size(36, 36)),
new BMap.Icon(require('@/assets/home/error.png'), new BMap.Size(36, 36)),
]
let marker = null
if (item.CurrentEventState == '正常') {
marker = new BMap.Marker(pt, {
icon: success });
} else {
marker = new BMap.Marker(pt, {
icon: error });
}
const attribute = () => {
this.next(item);
};
marker.addEventListener("click", attribute);
markers.push(marker);
});
map.addEventListener("zoomend", function () {
that.$store.commit("map", {
scale: this.getZoom() });
});
map.addEventListener("dragend", function () {
let center = map.getCenter();
that.$store.commit("map", {
position: {
jd: center.lng, wd: center.lat }
});
});
let markerClusterer = new BMapLib.MarkerClusterer(map, {
markers,
gridSize: 30
});
}
var BMapLib = window.BMapLib = BMapLib || {
};
(function () {
var getExtendedBounds = function (map, bounds, gridSize) {
bounds = cutBoundsInRange(bounds);
var pixelNE = map.pointToPixel(bounds.getNorthEast());
var pixelSW = map.pointToPixel(bounds.getSouthWest());
pixelNE.x += gridSize;
pixelNE.y -= gridSize;
pixelSW.x -= gridSize;
pixelSW.y += gridSize;
var newNE = map.pixelToPoint(pixelNE);
var newSW = map.pixelToPoint(pixelSW);
return new BMap.Bounds(newSW, newNE);
};
var cutBoundsInRange = function (bounds) {
var maxX = getRange(bounds.getNorthEast().lng, -180, 180);
var minX = getRange(bounds.getSouthWest().lng, -180, 180);
var maxY = getRange(bounds.getNorthEast().lat, -74, 74);
var minY = getRange(bounds.getSouthWest().lat, -74, 74);
return new BMap.Bounds(new BMap.Point(minX, minY), new BMap.Point