|
4 | 4 | (factory((global.mapv = global.mapv || {}))); |
5 | 5 | }(this, (function (exports) { 'use strict'; |
6 | 6 |
|
7 | | -var version = "2.0.43"; |
| 7 | +var version = "2.0.44"; |
8 | 8 |
|
9 | 9 | /** |
10 | 10 | * @author kyle / http://nikai.us/ |
@@ -1174,35 +1174,57 @@ var drawGrid = { |
1174 | 1174 |
|
1175 | 1175 | var size = options._size || options.size || 50; |
1176 | 1176 |
|
| 1177 | + // 后端传入数据为网格数据时,传入enableCluster为false,前端不进行删格化操作,直接画方格 |
| 1178 | + var enableCluster = 'enableCluster' in options ? options.enableCluster : true; |
| 1179 | + |
1177 | 1180 | var offset = options.offset || { |
1178 | 1181 | x: 0, |
1179 | 1182 | y: 0 |
1180 | 1183 | }; |
1181 | 1184 |
|
1182 | | - for (var i = 0; i < data.length; i++) { |
1183 | | - var coordinates = data[i].geometry._coordinates || data[i].geometry.coordinates; |
1184 | | - var gridKey = Math.floor((coordinates[0] - offset.x) / size) + "," + Math.floor((coordinates[1] - offset.y) / size); |
1185 | | - if (!grids[gridKey]) { |
1186 | | - grids[gridKey] = 0; |
1187 | | - } |
1188 | | - grids[gridKey] += ~~(data[i].count || 1); |
1189 | | - } |
1190 | | - |
1191 | 1185 | var intensity = new Intensity({ |
1192 | 1186 | min: options.min || 0, |
1193 | 1187 | max: options.max || 100, |
1194 | 1188 | gradient: options.gradient |
1195 | 1189 | }); |
1196 | 1190 |
|
1197 | | - for (var gridKey in grids) { |
1198 | | - gridKey = gridKey.split(","); |
| 1191 | + if (!enableCluster) { |
| 1192 | + for (var i = 0; i < data.length; i++) { |
| 1193 | + var coordinates = data[i].geometry._coordinates || data[i].geometry.coordinates; |
| 1194 | + var gridKey = coordinates.join(','); |
| 1195 | + grids[gridKey] = ~~(data[i].count || 1); |
| 1196 | + } |
| 1197 | + for (var _gridKey in grids) { |
| 1198 | + _gridKey = _gridKey.split(","); |
1199 | 1199 |
|
1200 | | - context.beginPath(); |
1201 | | - context.rect(gridKey[0] * size + .5 + offset.x, gridKey[1] * size + .5 + offset.y, size, size); |
1202 | | - context.fillStyle = intensity.getColor(grids[gridKey]); |
1203 | | - context.fill(); |
1204 | | - if (options.strokeStyle && options.lineWidth) { |
1205 | | - context.stroke(); |
| 1200 | + context.beginPath(); |
| 1201 | + context.rect(+_gridKey[0] - size / 2, +_gridKey[1] - size / 2, size, size); |
| 1202 | + context.fillStyle = intensity.getColor(grids[_gridKey]); |
| 1203 | + context.fill(); |
| 1204 | + if (options.strokeStyle && options.lineWidth) { |
| 1205 | + context.stroke(); |
| 1206 | + } |
| 1207 | + } |
| 1208 | + } else { |
| 1209 | + for (var _i = 0; _i < data.length; _i++) { |
| 1210 | + var coordinates = data[_i].geometry._coordinates || data[_i].geometry.coordinates; |
| 1211 | + var gridKey = Math.floor((coordinates[0] - offset.x) / size) + "," + Math.floor((coordinates[1] - offset.y) / size); |
| 1212 | + if (!grids[gridKey]) { |
| 1213 | + grids[gridKey] = 0; |
| 1214 | + } |
| 1215 | + grids[gridKey] += ~~(data[_i].count || 1); |
| 1216 | + } |
| 1217 | + |
| 1218 | + for (var _gridKey2 in grids) { |
| 1219 | + _gridKey2 = _gridKey2.split(","); |
| 1220 | + |
| 1221 | + context.beginPath(); |
| 1222 | + context.rect(_gridKey2[0] * size + .5 + offset.x, _gridKey2[1] * size + .5 + offset.y, size, size); |
| 1223 | + context.fillStyle = intensity.getColor(grids[_gridKey2]); |
| 1224 | + context.fill(); |
| 1225 | + if (options.strokeStyle && options.lineWidth) { |
| 1226 | + context.stroke(); |
| 1227 | + } |
1206 | 1228 | } |
1207 | 1229 | } |
1208 | 1230 |
|
|
0 commit comments