@@ -42902,6 +42902,29 @@ class ArrayStatistic {
4290242902
4290342903}
4290442904SuperMap.ArrayStatistic = ArrayStatistic;
42905+ // CONCATENATED MODULE: ./src/common/util/MapCalculateUtil.js
42906+
42907+
42908+ var getMeterPerMapUnit = function(mapUnit) {
42909+ var earchRadiusInMeters = 6378137;
42910+ var meterPerMapUnit;
42911+ if (mapUnit === Unit.METER) {
42912+ meterPerMapUnit = 1;
42913+ } else if (mapUnit === Unit.DEGREE) {
42914+ // 每度表示多少米。
42915+ meterPerMapUnit = (Math.PI * 2 * earchRadiusInMeters) / 360;
42916+ } else if (mapUnit === Unit.KILOMETER) {
42917+ meterPerMapUnit = 1.0e-3;
42918+ } else if (mapUnit === Unit.INCH) {
42919+ meterPerMapUnit = 1 / 2.5399999918e-2;
42920+ } else if (mapUnit === Unit.FOOT) {
42921+ meterPerMapUnit = 0.3048;
42922+ } else {
42923+ return meterPerMapUnit;
42924+ }
42925+ return meterPerMapUnit;
42926+ };
42927+
4290542928// CONCATENATED MODULE: ./src/common/util/index.js
4290642929/* Copyright© 2000 - 2019 SuperMap Software Co.Ltd. All rights reserved.
4290742930 * This program are made available under the terms of the Apache License, Version 2.0
@@ -42913,6 +42936,8 @@ SuperMap.ArrayStatistic = ArrayStatistic;
4291342936
4291442937
4291542938
42939+
42940+
4291642941// EXTERNAL MODULE: ./node_modules/lodash.topairs/index.js
4291742942var lodash_topairs = __webpack_require__(13);
4291842943var lodash_topairs_default = /*#__PURE__*/__webpack_require__.n(lodash_topairs);
@@ -77179,28 +77204,30 @@ external_L_default.a.supermap.CommontypesConversion = CommontypesConversion_Comm
7717977204 * which accompanies this distribution and is available at http://www.apache.org/licenses/LICENSE-2.0.html.*/
7718077205
7718177206
77207+
7718277208/**
7718377209 * @namespace L.Util
7718477210 * @category BaseTypes Util
7718577211 */
7718677212var supermap_callbacks = {};
7718777213external_L_default.a.Util.supermap_callbacks = supermap_callbacks;
77188- var toGeoJSON = function (feature) {
77214+ var toGeoJSON = function(feature) {
7718977215 if (!feature) {
7719077216 return feature;
7719177217 }
7719277218 return new GeoJSON_GeoJSON().toGeoJSON(feature);
7719377219};
77194- var toSuperMapGeometry = function (geometry) {
77220+ var toSuperMapGeometry = function(geometry) {
7719577221 if (!geometry) {
7719677222 return geometry;
7719777223 }
77198- var result, format = new GeoJSON_GeoJSON();
77199- if (["FeatureCollection", "Feature", "Geometry"].indexOf(geometry.type) != -1) {
77224+ var result,
77225+ format = new GeoJSON_GeoJSON();
77226+ if (['FeatureCollection', 'Feature', 'Geometry'].indexOf(geometry.type) != -1) {
7720077227 result = format.read(geometry, geometry.type);
77201- } else if (typeof geometry.toGeoJSON === " function" ) {
77228+ } else if (typeof geometry.toGeoJSON === ' function' ) {
7720277229 var geojson = geometry.toGeoJSON();
77203- result = ( geojson) ? format.read(geojson, geojson.type) : geometry;
77230+ result = geojson ? format.read(geojson, geojson.type) : geometry;
7720477231 }
7720577232
7720677233 var serverResult = result;
@@ -77209,83 +77236,68 @@ var toSuperMapGeometry = function (geometry) {
7720977236 serverResult = result[0];
7721077237 } else if (result.length > 1) {
7721177238 serverResult = [];
77212- result.map(function (item) {
77239+ result.map(function(item) {
7721377240 serverResult.push(item.geometry);
7721477241 return item;
7721577242 });
7721677243 }
7721777244 }
7721877245
77219- return (serverResult && serverResult.geometry) ? serverResult.geometry : serverResult;
77220-
77246+ return serverResult && serverResult.geometry ? serverResult.geometry : serverResult;
7722177247};
77248+ var Util_getMeterPerMapUnit = getMeterPerMapUnit;
7722277249
77223- var getMeterPerMapUnit = function (mapUnit) {
77224- var earchRadiusInMeters = 6378137;
77225- var meterPerMapUnit;
77226- if (mapUnit === Unit.METER) {
77227- meterPerMapUnit = 1;
77228- } else if (mapUnit === Unit.DEGREE) {
77229- // 每度表示多少米。
77230- meterPerMapUnit = Math.PI * 2 * earchRadiusInMeters / 360;
77231- } else if (mapUnit === Unit.KILOMETER) {
77232- meterPerMapUnit = 1.0E-3;
77233- } else if (mapUnit === Unit.INCH) {
77234- meterPerMapUnit = 1 / 2.5399999918E-2;
77235- } else if (mapUnit === Unit.FOOT) {
77236- meterPerMapUnit = 0.3048;
77237- } else {
77238- return meterPerMapUnit;
77239- }
77240- return meterPerMapUnit;
77241- };
77242-
77243- var resolutionToScale = function (resolution, dpi, mapUnit) {
77250+ var resolutionToScale = function(resolution, dpi, mapUnit) {
7724477251 var inchPerMeter = 1 / 0.0254;
7724577252 // 地球半径。
77246- var meterPerMapUnit = getMeterPerMapUnit (mapUnit);
77253+ var meterPerMapUnit = Util_getMeterPerMapUnit (mapUnit);
7724777254 var scale = resolution * dpi * inchPerMeter * meterPerMapUnit;
7724877255 scale = 1 / scale;
7724977256 return scale;
7725077257};
77251- var scaleToResolution = function (scale, dpi, mapUnit) {
77258+ var scaleToResolution = function(scale, dpi, mapUnit) {
7725277259 var inchPerMeter = 1 / 0.0254;
77253- var meterPerMapUnitValue = getMeterPerMapUnit (mapUnit);
77260+ var meterPerMapUnitValue = Util_getMeterPerMapUnit (mapUnit);
7725477261 var resolution = scale * dpi * inchPerMeter * meterPerMapUnitValue;
7725577262 resolution = 1 / resolution;
7725677263 return resolution;
7725777264};
7725877265
77259- var GetResolutionFromScaleDpi = function (scale, dpi, coordUnit, datumAxis) {
77266+ var GetResolutionFromScaleDpi = function(scale, dpi, coordUnit, datumAxis) {
7726077267 var resolution = null,
7726177268 ratio = 10000;
7726277269 //用户自定义地图的Options时,若未指定该参数的值,则系统默认为6378137米,即WGS84参考系的椭球体长半轴。
7726377270 datumAxis = datumAxis || 6378137;
77264- coordUnit = coordUnit || "" ;
77271+ coordUnit = coordUnit || '' ;
7726577272 if (scale > 0 && dpi > 0) {
7726677273 scale = external_L_default.a.Util.NormalizeScale(scale);
77267- if (coordUnit.toLowerCase() === "degree" || coordUnit.toLowerCase() === "degrees" || coordUnit.toLowerCase() === "dd") {
77274+ if (
77275+ coordUnit.toLowerCase() === 'degree' ||
77276+ coordUnit.toLowerCase() === 'degrees' ||
77277+ coordUnit.toLowerCase() === 'dd'
77278+ ) {
7726877279 //scale = SuperMap.Util.normalizeScale(scale);
77269- resolution = 0.0254 * ratio / dpi / scale / ((Math.PI * 2 * datumAxis) / 360) / ratio;
77280+ resolution = ( 0.0254 * ratio) / dpi / scale / ((Math.PI * 2 * datumAxis) / 360) / ratio;
7727077281 return resolution;
7727177282 } else {
77272- resolution = 0.0254 * ratio / dpi / scale / ratio;
77283+ resolution = ( 0.0254 * ratio) / dpi / scale / ratio;
7727377284 return resolution;
7727477285 }
7727577286 }
7727677287 return -1;
7727777288};
77278- var NormalizeScale = function (scale) {
77279- return ( scale > 1.0) ? ( 1.0 / scale) : scale;
77289+ var NormalizeScale = function(scale) {
77290+ return scale > 1.0 ? 1.0 / scale : scale;
7728077291};
7728177292
7728277293external_L_default.a.Util.toGeoJSON = toGeoJSON;
7728377294external_L_default.a.Util.toSuperMapGeometry = toSuperMapGeometry;
7728477295external_L_default.a.Util.resolutionToScale = resolutionToScale;
7728577296external_L_default.a.Util.scaleToResolution = scaleToResolution;
77286- external_L_default.a.Util.getMeterPerMapUnit = getMeterPerMapUnit ;
77297+ external_L_default.a.Util.getMeterPerMapUnit = Util_getMeterPerMapUnit ;
7728777298external_L_default.a.Util.GetResolutionFromScaleDpi = GetResolutionFromScaleDpi;
7728877299external_L_default.a.Util.NormalizeScale = NormalizeScale;
77300+
7728977301// CONCATENATED MODULE: ./src/leaflet/core/Transform.js
7729077302/* Copyright© 2000 - 2019 SuperMap Software Co.Ltd. All rights reserved.
7729177303 * This program are made available under the terms of the Apache License, Version 2.0
@@ -77832,11 +77844,9 @@ var ImageMapLayer = external_L_["Layer"].extend({
7783277844 params.push('rasterfunction=' + JSON.stringify(options.rasterfunction));
7783377845 }
7783477846
77835- if (options.clipRegionEnabled && options.clipRegion instanceof external_L_default.a.Path) {
77836- options.clipRegion = external_L_default.a.Util.toSuperMapGeometry(options.clipRegion.toGeoJSON());
77837- options.clipRegion = Util.toJSON(ServerGeometry_ServerGeometry.fromGeometry(options.clipRegion));
77847+ if (options.clipRegionEnabled && options.clipRegion) {
7783877848 params.push('clipRegionEnabled=' + options.clipRegionEnabled);
77839- params.push('clipRegion=' + JSON.stringify(options.clipRegion));
77849+ params.push('clipRegion=' + JSON.stringify(ServerGeometry_ServerGeometry.fromGeometry(external_L_["Util"].toSuperMapGeometry( options.clipRegion)) ));
7784077850 }
7784177851
7784277852 if (options.overlapDisplayed === false) {
@@ -78552,9 +78562,8 @@ var TiledMapLayer = external_L_default.a.TileLayer.extend({
7855278562 params["layersID"] = options.layersID.toString();
7855378563 }
7855478564
78555- if (options.clipRegionEnabled && options.clipRegion instanceof external_L_default.a.Path) {
78556- options.clipRegion = toSuperMapGeometry(options.clipRegion.toGeoJSON());
78557- options.clipRegion = Util.toJSON(ServerGeometry_ServerGeometry.fromGeometry(options.clipRegion));
78565+ if (options.clipRegionEnabled && options.clipRegion) {
78566+ options.clipRegion = ServerGeometry_ServerGeometry.fromGeometry(toSuperMapGeometry(options.clipRegion));
7855878567 params["clipRegionEnabled"] = options.clipRegionEnabled;
7855978568 params["clipRegion"] = JSON.stringify(options.clipRegion);
7856078569 }
@@ -83524,6 +83533,7 @@ var external_function_try_return_mapv_catch_e_return_ = __webpack_require__(6);
8352483533
8352583534
8352683535
83536+
8352783537var BaseLayer = external_function_try_return_mapv_catch_e_return_["baiduMapLayer"] ? external_function_try_return_mapv_catch_e_return_["baiduMapLayer"].__proto__ : Function;
8352883538
8352983539/**
@@ -83766,6 +83776,8 @@ class MapVRenderer_MapVRenderer extends BaseLayer {
8376683776
8376783777 var resolutionX = dw / mapCanvas.x,
8376883778 resolutionY = dh / mapCanvas.y;
83779+ // 一个像素是多少米
83780+ var zoomUnit = Util_getMeterPerMapUnit('DEGREE') * resolutionX;
8376983781 //var centerPx = map.latLngToLayerPoint(map.getCenter());
8377083782
8377183783 //获取屏幕左上角的地理坐标坐标
@@ -83804,13 +83816,29 @@ class MapVRenderer_MapVRenderer extends BaseLayer {
8380483816
8380583817 this.processData(data);
8380683818
83807- self.options._size = self.options.size;
83808-
8380983819 var worldPoint = map.latLngToContainerPoint(external_L_default.a.latLng(0, 0));
8381083820 var pixel = {
8381183821 x: worldPoint.x - topLeftPX.x,
8381283822 y: worldPoint.y - topLeftPX.y
8381383823 };
83824+
83825+ // 兼容unit为'm'的情况
83826+ if (self.options.unit === 'm') {
83827+ if (self.options.size) {
83828+ self.options._size = self.options.size / zoomUnit;
83829+ }
83830+ if (self.options.width) {
83831+ self.options._width = self.options.width / zoomUnit;
83832+ }
83833+ if (self.options.height) {
83834+ self.options._height = self.options.height / zoomUnit;
83835+ }
83836+ } else {
83837+ self.options._size = self.options.size;
83838+ self.options._height = self.options.height;
83839+ self.options._width = self.options.width;
83840+ }
83841+
8381483842 this.drawContext(context, data, self.options, pixel);
8381583843
8381683844 self.options.updateCallback && self.options.updateCallback(time);
@@ -85208,7 +85236,7 @@ var GraphicCanvasRenderer = external_L_default.a.Class.extend({
8520885236 let me = this,
8520985237 layer = me.layer,
8521085238 map = layer._map;
85211- this.layer._renderer._ctx.canvas.style.cursor = 'pointer';
85239+
8521285240 let graphics = layer._getGraphicsInBounds();
8521385241 evt.target = null;
8521485242 for (let i = graphics.length - 1; i >= 0; i--) {
@@ -85234,12 +85262,14 @@ var GraphicCanvasRenderer = external_L_default.a.Class.extend({
8523485262 }
8523585263 bounds = external_L_default.a.bounds(p1, p2);
8523685264 if (bounds.contains(map.latLngToLayerPoint(evt.latlng))) {
85265+ this.layer._renderer._ctx.canvas.style.cursor = 'pointer';
8523785266 evt.target = graphics[i];
8523885267 if (evt.type === 'click' && layer.options.onClick) {
8523985268 layer.options.onClick.call(layer, graphics[i], evt);
8524085269 }
8524185270 return;
8524285271 }
85272+ this.layer._renderer._ctx.canvas.style.cursor = 'auto';
8524385273 }
8524485274 },
8524585275
@@ -97509,7 +97539,7 @@ external_L_default.a.supermap.components.dataServiceQuery = dataServiceQueryView
9750997539/* concated harmony reexport crs */__webpack_require__.d(__webpack_exports__, "crs", function() { return Proj4Leaflet_crs; });
9751097540/* concated harmony reexport toGeoJSON */__webpack_require__.d(__webpack_exports__, "toGeoJSON", function() { return toGeoJSON; });
9751197541/* concated harmony reexport toSuperMapGeometry */__webpack_require__.d(__webpack_exports__, "toSuperMapGeometry", function() { return toSuperMapGeometry; });
97512- /* concated harmony reexport getMeterPerMapUnit */__webpack_require__.d(__webpack_exports__, "getMeterPerMapUnit", function() { return getMeterPerMapUnit ; });
97542+ /* concated harmony reexport getMeterPerMapUnit */__webpack_require__.d(__webpack_exports__, "getMeterPerMapUnit", function() { return Util_getMeterPerMapUnit ; });
9751397543/* concated harmony reexport resolutionToScale */__webpack_require__.d(__webpack_exports__, "resolutionToScale", function() { return resolutionToScale; });
9751497544/* concated harmony reexport scaleToResolution */__webpack_require__.d(__webpack_exports__, "scaleToResolution", function() { return scaleToResolution; });
9751597545/* concated harmony reexport GetResolutionFromScaleDpi */__webpack_require__.d(__webpack_exports__, "GetResolutionFromScaleDpi", function() { return GetResolutionFromScaleDpi; });
@@ -97888,4 +97918,5 @@ var ChangeTileVersion = __webpack_require__(70);
9788897918// removed by extract-text-webpack-plugin
9788997919
9789097920/***/ })
97891- /******/ ]);
97921+ /******/ ]);
97922+ //# sourceMappingURL=iclient-leaflet-es6.js.map
0 commit comments