| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 | 
							- /*
 
- * Licensed to the Apache Software Foundation (ASF) under one
 
- * or more contributor license agreements.  See the NOTICE file
 
- * distributed with this work for additional information
 
- * regarding copyright ownership.  The ASF licenses this file
 
- * to you under the Apache License, Version 2.0 (the
 
- * "License"); you may not use this file except in compliance
 
- * with the License.  You may obtain a copy of the License at
 
- *
 
- *   http://www.apache.org/licenses/LICENSE-2.0
 
- *
 
- * Unless required by applicable law or agreed to in writing,
 
- * software distributed under the License is distributed on an
 
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 
- * KIND, either express or implied.  See the License for the
 
- * specific language governing permissions and limitations
 
- * under the License.
 
- */
 
- // @ts-nocheck
 
- import * as echarts from 'echarts';
 
- function isEmptyObject(obj) {
 
-     for (const key in obj) {
 
-         if (obj.hasOwnProperty(key)) {
 
-             return false;
 
-         }
 
-     }
 
-     return true;
 
- }
 
- export default echarts.extendComponentView({
 
-     type: 'bmap',
 
-     render: function (bMapModel, ecModel, api) {
 
-         let rendering = true;
 
-         const bmap = bMapModel.getBMap();
 
-         const viewportRoot = api.getZr().painter.getViewportRoot();
 
-         const coordSys = bMapModel.coordinateSystem;
 
-         const moveHandler = function (type, target) {
 
-             if (rendering) {
 
-                 return;
 
-             }
 
-             const offsetEl = viewportRoot.parentNode.parentNode.parentNode;
 
-             const mapOffset = [
 
-                 -parseInt(offsetEl.style.left, 10) || 0,
 
-                 -parseInt(offsetEl.style.top, 10) || 0
 
-             ];
 
-             // only update style when map offset changed
 
-             const viewportRootStyle = viewportRoot.style;
 
-             const offsetLeft = mapOffset[0] + 'px';
 
-             const offsetTop = mapOffset[1] + 'px';
 
-             if (viewportRootStyle.left !== offsetLeft) {
 
-                 viewportRootStyle.left = offsetLeft;
 
-             }
 
-             if (viewportRootStyle.top !== offsetTop) {
 
-                 viewportRootStyle.top = offsetTop;
 
-             }
 
-             coordSys.setMapOffset(mapOffset);
 
-             bMapModel.__mapOffset = mapOffset;
 
-             api.dispatchAction({
 
-                 type: 'bmapRoam',
 
-                 animation: {
 
-                     duration: 0
 
-                 }
 
-             });
 
-         };
 
-         function zoomEndHandler() {
 
-             if (rendering) {
 
-                 return;
 
-             }
 
-             api.dispatchAction({
 
-                 type: 'bmapRoam',
 
-                 animation: {
 
-                     duration: 0
 
-                 }
 
-             });
 
-         }
 
-         bmap.removeEventListener('moving', this._oldMoveHandler);
 
-         bmap.removeEventListener('moveend', this._oldMoveHandler);
 
-         bmap.removeEventListener('zoomend', this._oldZoomEndHandler);
 
-         bmap.addEventListener('moving', moveHandler);
 
-         bmap.addEventListener('moveend', moveHandler);
 
-         bmap.addEventListener('zoomend', zoomEndHandler);
 
-         this._oldMoveHandler = moveHandler;
 
-         this._oldZoomEndHandler = zoomEndHandler;
 
-         const roam = bMapModel.get('roam');
 
-         if (roam && roam !== 'scale') {
 
-             bmap.enableDragging();
 
-         }
 
-         else {
 
-             bmap.disableDragging();
 
-         }
 
-         if (roam && roam !== 'move') {
 
-             bmap.enableScrollWheelZoom();
 
-             bmap.enableDoubleClickZoom();
 
-             bmap.enablePinchToZoom();
 
-         }
 
-         else {
 
-             bmap.disableScrollWheelZoom();
 
-             bmap.disableDoubleClickZoom();
 
-             bmap.disablePinchToZoom();
 
-         }
 
-         /* map 2.0 */
 
-         const originalStyle = bMapModel.__mapStyle;
 
-         const newMapStyle = bMapModel.get('mapStyle') || {};
 
-         // FIXME, Not use JSON methods
 
-         const mapStyleStr = JSON.stringify(newMapStyle);
 
-         if (JSON.stringify(originalStyle) !== mapStyleStr) {
 
-             // FIXME May have blank tile when dragging if setMapStyle
 
-             if (!isEmptyObject(newMapStyle)) {
 
-                 bmap.setMapStyle(echarts.util.clone(newMapStyle));
 
-             }
 
-             bMapModel.__mapStyle = JSON.parse(mapStyleStr);
 
-         }
 
-         /* map 3.0 */
 
-         const originalStyle2 = bMapModel.__mapStyle2;
 
-         const newMapStyle2 = bMapModel.get('mapStyleV2') || {};
 
-         // FIXME, Not use JSON methods
 
-         const mapStyleStr2 = JSON.stringify(newMapStyle2);
 
-         if (JSON.stringify(originalStyle2) !== mapStyleStr2) {
 
-             // FIXME May have blank tile when dragging if setMapStyle
 
-             if (!isEmptyObject(newMapStyle2)) {
 
-                 bmap.setMapStyleV2(echarts.util.clone(newMapStyle2));
 
-             }
 
-             bMapModel.__mapStyle2 = JSON.parse(mapStyleStr2);
 
-         }
 
-         rendering = false;
 
-     }
 
- });
 
 
  |