diff --git a/dist/echarts-extension-gmap.cjs.js b/dist/echarts-extension-gmap.cjs.js index 9707078..22afcaa 100644 --- a/dist/echarts-extension-gmap.cjs.js +++ b/dist/echarts-extension-gmap.cjs.js @@ -1,6 +1,6 @@ /*! * echarts-extension-gmap - * @version 1.5.0 + * @version 1.6.0 * @author plainheart * * MIT License @@ -28,8 +28,6 @@ */ 'use strict'; -Object.defineProperty(exports, '__esModule', { value: true }); - var echarts = require('echarts/lib/echarts'); var ecVer = echarts.version.split('.'); @@ -307,23 +305,19 @@ var GMapView = { var gmap = gmapModel.getGoogleMap(); var viewportRoot = api.getZr().painter.getViewportRoot(); var coordSys = gmapModel.coordinateSystem; - var offsetEl = gmap.getDiv(); var renderOnMoving = gmapModel.get('renderOnMoving'); - var oldWidth = offsetEl.clientWidth; - var oldHeight = offsetEl.clientHeight; - gmap.setOptions({ - gestureHandling: gmapModel.get('roam') ? 'auto' : 'none' - }); + var offsetEl = gmap.getDiv(); + var mapEl = offsetEl.firstChild; + var oldWidth = mapEl.clientWidth; + var oldHeight = mapEl.clientHeight; var renderHandler = function renderHandler() { if (rendering) { return; } - // need resize? - var width = offsetEl.clientWidth; - var height = offsetEl.clientHeight; - if (width !== oldWidth || height !== oldHeight) { - return resizeHandler.call(this); + // reduce unnecessary resize + if (mapEl.clientWidth !== oldWidth || mapEl.clientHeight !== oldHeight) { + return resizeHandler(); } var mapOffset = [-parseInt(offsetEl.style.left, 10) || 0, -parseInt(offsetEl.style.top, 10) || 0]; viewportRoot.style.left = mapOffset[0] + 'px'; @@ -341,25 +335,28 @@ var GMapView = { }); }; var resizeHandler = function resizeHandler() { - var width = offsetEl.firstChild.clientWidth; - var height = offsetEl.firstChild.clientHeight; + // fix chart can't get resized correctly after the google map enters fullscreen + // See also #14 echarts.getInstanceByDom(api.getDom()).resize({ - width: width, - height: height + width: mapEl.clientWidth, + height: mapEl.clientHeight }); }; - this._oldRenderHandler && this._oldRenderHandler.remove(); + this._renderHandler && this._renderHandler.remove(); if (!renderOnMoving) { - // TODO hide layer when moving + // PENDING hide layer when rendering renderHandler = echarts.throttle(renderHandler, 100, true); resizeHandler = echarts.throttle(resizeHandler, 100, true); } - this._oldRenderHandler = google.maps.event.addListener(gmap, 'gmaprender', renderHandler); + this._renderHandler = google.maps.event.addListener(gmap, renderOnMoving ? 'gmaprender' : 'idle', renderHandler); + gmap.setOptions({ + gestureHandling: gmapModel.get('roam') ? 'auto' : 'none' + }); rendering = false; }, dispose: function dispose() { - this._oldRenderHandler && this._oldRenderHandler.remove(); - this._oldRenderHandler = null; + this._renderHandler && this._renderHandler.remove(); + delete this._renderHandler; var component = this.__model; if (!component) { return; @@ -387,7 +384,7 @@ var GMapView = { var GMapView$1 = isNewEC ? echarts.ComponentView.extend(GMapView) : GMapView; var name = "echarts-extension-gmap"; -var version = "1.5.0"; +var version = "1.6.0"; /** * Google Map component extension diff --git a/dist/echarts-extension-gmap.esm.js b/dist/echarts-extension-gmap.esm.js index 51dc379..720ea4e 100644 --- a/dist/echarts-extension-gmap.esm.js +++ b/dist/echarts-extension-gmap.esm.js @@ -1,6 +1,6 @@ /*! * echarts-extension-gmap - * @version 1.5.0 + * @version 1.6.0 * @author plainheart * * MIT License @@ -304,23 +304,19 @@ var GMapView = { var gmap = gmapModel.getGoogleMap(); var viewportRoot = api.getZr().painter.getViewportRoot(); var coordSys = gmapModel.coordinateSystem; - var offsetEl = gmap.getDiv(); var renderOnMoving = gmapModel.get('renderOnMoving'); - var oldWidth = offsetEl.clientWidth; - var oldHeight = offsetEl.clientHeight; - gmap.setOptions({ - gestureHandling: gmapModel.get('roam') ? 'auto' : 'none' - }); + var offsetEl = gmap.getDiv(); + var mapEl = offsetEl.firstChild; + var oldWidth = mapEl.clientWidth; + var oldHeight = mapEl.clientHeight; var renderHandler = function renderHandler() { if (rendering) { return; } - // need resize? - var width = offsetEl.clientWidth; - var height = offsetEl.clientHeight; - if (width !== oldWidth || height !== oldHeight) { - return resizeHandler.call(this); + // reduce unnecessary resize + if (mapEl.clientWidth !== oldWidth || mapEl.clientHeight !== oldHeight) { + return resizeHandler(); } var mapOffset = [-parseInt(offsetEl.style.left, 10) || 0, -parseInt(offsetEl.style.top, 10) || 0]; viewportRoot.style.left = mapOffset[0] + 'px'; @@ -338,25 +334,28 @@ var GMapView = { }); }; var resizeHandler = function resizeHandler() { - var width = offsetEl.firstChild.clientWidth; - var height = offsetEl.firstChild.clientHeight; + // fix chart can't get resized correctly after the google map enters fullscreen + // See also #14 getInstanceByDom(api.getDom()).resize({ - width: width, - height: height + width: mapEl.clientWidth, + height: mapEl.clientHeight }); }; - this._oldRenderHandler && this._oldRenderHandler.remove(); + this._renderHandler && this._renderHandler.remove(); if (!renderOnMoving) { - // TODO hide layer when moving + // PENDING hide layer when rendering renderHandler = throttle(renderHandler, 100, true); resizeHandler = throttle(resizeHandler, 100, true); } - this._oldRenderHandler = google.maps.event.addListener(gmap, 'gmaprender', renderHandler); + this._renderHandler = google.maps.event.addListener(gmap, renderOnMoving ? 'gmaprender' : 'idle', renderHandler); + gmap.setOptions({ + gestureHandling: gmapModel.get('roam') ? 'auto' : 'none' + }); rendering = false; }, dispose: function dispose() { - this._oldRenderHandler && this._oldRenderHandler.remove(); - this._oldRenderHandler = null; + this._renderHandler && this._renderHandler.remove(); + delete this._renderHandler; var component = this.__model; if (!component) { return; @@ -384,7 +383,7 @@ var GMapView = { var GMapView$1 = isNewEC ? ComponentView.extend(GMapView) : GMapView; var name = "echarts-extension-gmap"; -var version = "1.5.0"; +var version = "1.6.0"; /** * Google Map component extension diff --git a/dist/echarts-extension-gmap.js b/dist/echarts-extension-gmap.js index fe2a55f..4580268 100644 --- a/dist/echarts-extension-gmap.js +++ b/dist/echarts-extension-gmap.js @@ -1,6 +1,6 @@ /*! * echarts-extension-gmap - * @version 1.5.0 + * @version 1.6.0 * @author plainheart * * MIT License @@ -307,23 +307,19 @@ var gmap = gmapModel.getGoogleMap(); var viewportRoot = api.getZr().painter.getViewportRoot(); var coordSys = gmapModel.coordinateSystem; - var offsetEl = gmap.getDiv(); var renderOnMoving = gmapModel.get('renderOnMoving'); - var oldWidth = offsetEl.clientWidth; - var oldHeight = offsetEl.clientHeight; - gmap.setOptions({ - gestureHandling: gmapModel.get('roam') ? 'auto' : 'none' - }); + var offsetEl = gmap.getDiv(); + var mapEl = offsetEl.firstChild; + var oldWidth = mapEl.clientWidth; + var oldHeight = mapEl.clientHeight; var renderHandler = function renderHandler() { if (rendering) { return; } - // need resize? - var width = offsetEl.clientWidth; - var height = offsetEl.clientHeight; - if (width !== oldWidth || height !== oldHeight) { - return resizeHandler.call(this); + // reduce unnecessary resize + if (mapEl.clientWidth !== oldWidth || mapEl.clientHeight !== oldHeight) { + return resizeHandler(); } var mapOffset = [-parseInt(offsetEl.style.left, 10) || 0, -parseInt(offsetEl.style.top, 10) || 0]; viewportRoot.style.left = mapOffset[0] + 'px'; @@ -341,25 +337,28 @@ }); }; var resizeHandler = function resizeHandler() { - var width = offsetEl.firstChild.clientWidth; - var height = offsetEl.firstChild.clientHeight; + // fix chart can't get resized correctly after the google map enters fullscreen + // See also #14 echarts.getInstanceByDom(api.getDom()).resize({ - width: width, - height: height + width: mapEl.clientWidth, + height: mapEl.clientHeight }); }; - this._oldRenderHandler && this._oldRenderHandler.remove(); + this._renderHandler && this._renderHandler.remove(); if (!renderOnMoving) { - // TODO hide layer when moving + // PENDING hide layer when rendering renderHandler = echarts.throttle(renderHandler, 100, true); resizeHandler = echarts.throttle(resizeHandler, 100, true); } - this._oldRenderHandler = google.maps.event.addListener(gmap, 'gmaprender', renderHandler); + this._renderHandler = google.maps.event.addListener(gmap, renderOnMoving ? 'gmaprender' : 'idle', renderHandler); + gmap.setOptions({ + gestureHandling: gmapModel.get('roam') ? 'auto' : 'none' + }); rendering = false; }, dispose: function dispose() { - this._oldRenderHandler && this._oldRenderHandler.remove(); - this._oldRenderHandler = null; + this._renderHandler && this._renderHandler.remove(); + delete this._renderHandler; var component = this.__model; if (!component) { return; @@ -387,7 +386,7 @@ var GMapView$1 = isNewEC ? echarts.ComponentView.extend(GMapView) : GMapView; var name = "echarts-extension-gmap"; - var version = "1.5.0"; + var version = "1.6.0"; /** * Google Map component extension @@ -448,7 +447,5 @@ exports.name = name; exports.version = version; - Object.defineProperty(exports, '__esModule', { value: true }); - })); //# sourceMappingURL=echarts-extension-gmap.js.map diff --git a/dist/echarts-extension-gmap.js.map b/dist/echarts-extension-gmap.js.map index 9f0e328..cf613bb 100644 --- a/dist/echarts-extension-gmap.js.map +++ b/dist/echarts-extension-gmap.js.map @@ -1 +1 @@ -{"version":3,"file":"echarts-extension-gmap.js","sources":["../src/helper.js","../src/GMapCoordSys.js","../src/GMapModel.js","../src/GMapView.js","../src/index.js","../index.js"],"sourcesContent":["import { version } from 'echarts/lib/echarts'\n\nexport const ecVer = version.split('.')\n\nexport const isNewEC = ecVer[0] > 4\n\nexport const COMPONENT_TYPE = 'gmap'\n\nexport function v2Equal(a, b) {\n return a && b && a[0] === b[0] && a[1] === b[1]\n}\n","/* global google */\n\nimport { util as zrUtil, graphic, matrix } from 'echarts/lib/echarts'\nimport { COMPONENT_TYPE } from './helper'\n\nfunction dataToCoordSize(dataSize, dataItem) {\n dataItem = dataItem || [0, 0]\n return zrUtil.map(\n [0, 1],\n function(dimIdx) {\n const val = dataItem[dimIdx]\n const halfSize = dataSize[dimIdx] / 2\n const p1 = []\n const p2 = []\n p1[dimIdx] = val - halfSize\n p2[dimIdx] = val + halfSize\n p1[1 - dimIdx] = p2[1 - dimIdx] = dataItem[1 - dimIdx]\n return Math.abs(\n this.dataToPoint(p1)[dimIdx] - this.dataToPoint(p2)[dimIdx]\n )\n },\n this\n )\n}\n\nfunction GMapCoordSys(gmap, api) {\n this._gmap = gmap\n this.dimensions = ['lng', 'lat']\n this._mapOffset = [0, 0]\n this._api = api\n}\n\nconst GMapCoordSysProto = GMapCoordSys.prototype\n\n// exclude private and unsupported options\nconst excludedOptions = [\n 'echartsLayerZIndex',\n 'renderOnMoving'\n]\n\nGMapCoordSysProto.setZoom = function(zoom) {\n this._zoom = zoom\n}\n\nGMapCoordSysProto.setCenter = function(center) {\n const latlng = new google.maps.LatLng(center[1], center[0])\n this._center = latLngToPixel(latlng, this._gmap)\n}\n\nGMapCoordSysProto.setMapOffset = function(mapOffset) {\n this._mapOffset = mapOffset\n}\n\nGMapCoordSysProto.setGoogleMap = function(gmap) {\n this._gmap = gmap\n}\n\nGMapCoordSysProto.getGoogleMap = function() {\n return this._gmap\n}\n\nGMapCoordSysProto.dataToPoint = function(data) {\n const latlng = new google.maps.LatLng(data[1], data[0])\n const px = latLngToPixel(latlng, this._gmap)\n const mapOffset = this._mapOffset\n return [px.x - mapOffset[0], px.y - mapOffset[1]]\n}\n\nGMapCoordSysProto.pointToData = function(pt) {\n const mapOffset = this._mapOffset\n const latlng = pixelToLatLng(\n new google.maps.Point(pt[0] + mapOffset[0], pt[1] + mapOffset[1]),\n this._gmap\n )\n return [latlng.lng(), latlng.lat()]\n}\n\nGMapCoordSysProto.getViewRect = function() {\n const api = this._api\n return new graphic.BoundingRect(0, 0, api.getWidth(), api.getHeight())\n}\n\nGMapCoordSysProto.getRoamTransform = function() {\n return matrix.create()\n}\n\nGMapCoordSysProto.prepareCustoms = function() {\n const rect = this.getViewRect()\n return {\n coordSys: {\n type: COMPONENT_TYPE,\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height\n },\n api: {\n coord: zrUtil.bind(this.dataToPoint, this),\n size: zrUtil.bind(dataToCoordSize, this)\n }\n }\n}\n\nGMapCoordSysProto.convertToPixel = function(ecModel, finder, value) {\n // here we don't use finder as only one google map component is allowed\n return this.dataToPoint(value);\n}\n\nGMapCoordSysProto.convertFromPixel = function(ecModel, finder, value) {\n // here we don't use finder as only one google map component is allowed\n return this.pointToData(value);\n}\n\nGMapCoordSys.create = function(ecModel, api) {\n let gmapCoordSys\n const root = api.getDom()\n\n ecModel.eachComponent(COMPONENT_TYPE, function(gmapModel) {\n const painter = api.getZr().painter\n const viewportRoot = painter.getViewportRoot()\n if (typeof google === 'undefined' || !google.maps || !google.maps.Map) {\n throw new Error('Google Map API is not loaded')\n }\n Overlay = Overlay || createOverlayCtor()\n if (gmapCoordSys) {\n throw new Error('Only one google map component is allowed')\n }\n let gmap = gmapModel.getGoogleMap()\n if (!gmap) {\n // Not support IE8\n const className = 'ec-extension-google-map'\n let gmapRoot = root.querySelector('.' + className)\n if (gmapRoot) {\n // Reset viewport left and top, which will be changed\n // in moving handler in GMapView\n viewportRoot.style.left = '0'\n viewportRoot.style.top = '0'\n root.removeChild(gmapRoot)\n }\n gmapRoot = document.createElement('div')\n gmapRoot.className = className\n gmapRoot.style.cssText = 'position:absolute;top:0;left:0;right:0;bottom:0'\n root.appendChild(gmapRoot)\n\n const options = zrUtil.clone(gmapModel.get())\n const echartsLayerZIndex = options.echartsLayerZIndex\n // delete excluded options\n zrUtil.each(excludedOptions, function(key) {\n delete options[key]\n })\n const center = options.center\n // normalize center\n if (zrUtil.isArray(center)) {\n options.center = {\n lng: center[0],\n lat: center[1]\n }\n }\n\n gmap = new google.maps.Map(gmapRoot, options)\n gmapModel.setGoogleMap(gmap)\n\n gmapModel.__projectionChangeListener && gmapModel.__projectionChangeListener.remove()\n gmapModel.__projectionChangeListener = google.maps.event.addListener(gmap, 'projection_changed',\n function() {\n const layer = gmapModel.getEChartsLayer()\n layer && layer.setMap(null)\n\n const overlay = new Overlay(viewportRoot, gmap)\n overlay.setZIndex(echartsLayerZIndex)\n gmapModel.setEChartsLayer(overlay)\n }\n )\n\n // Override\n painter.getViewportRootOffset = function() {\n return { offsetLeft: 0, offsetTop: 0 }\n }\n }\n\n const center = gmapModel.get('center')\n const normalizedCenter = [\n center.lng != null ? center.lng : center[0],\n center.lat != null ? center.lat : center[1]\n ]\n const zoom = gmapModel.get('zoom')\n if (center && zoom) {\n const gmapCenter = gmap.getCenter()\n const gmapZoom = gmap.getZoom()\n const centerOrZoomChanged = gmapModel.centerOrZoomChanged([gmapCenter.lng(), gmapCenter.lat()], gmapZoom)\n if (centerOrZoomChanged) {\n const pt = new google.maps.LatLng(normalizedCenter[1], normalizedCenter[0])\n gmap.setOptions({\n center: pt,\n zoom: zoom\n })\n }\n }\n\n gmapCoordSys = new GMapCoordSys(gmap, api)\n gmapCoordSys.setMapOffset(gmapModel.__mapOffset || [0, 0])\n gmapCoordSys.setZoom(zoom)\n gmapCoordSys.setCenter(normalizedCenter)\n\n gmapModel.coordinateSystem = gmapCoordSys\n })\n\n ecModel.eachSeries(function(seriesModel) {\n if (seriesModel.get('coordinateSystem') === COMPONENT_TYPE) {\n seriesModel.coordinateSystem = gmapCoordSys\n }\n })\n\n // return created coordinate systems\n return gmapCoordSys && [gmapCoordSys]\n}\n\nlet Overlay\n\nfunction createOverlayCtor() {\n function Overlay(root, gmap) {\n this._root = root\n this.setMap(gmap)\n }\n\n Overlay.prototype = new google.maps.OverlayView()\n\n Overlay.prototype.onAdd = function() {\n const gmap = this.getMap()\n gmap.__overlayProjection = this.getProjection()\n gmap.getDiv().querySelector('.gm-style > div').appendChild(this._root)\n }\n\n /**\n * @override\n */\n Overlay.prototype.draw = function() {\n google.maps.event.trigger(this.getMap(), 'gmaprender')\n }\n\n Overlay.prototype.onRemove = function() {\n this._root.parentNode.removeChild(this._root)\n this._root = null\n }\n\n Overlay.prototype.setZIndex = function(zIndex) {\n this._root.style.zIndex = zIndex\n }\n\n Overlay.prototype.getZIndex = function() {\n return this._root.style.zIndex\n }\n\n return Overlay\n}\n\nfunction latLngToPixel(latLng, map) {\n const projection = map.__overlayProjection\n if (!projection) {\n return new google.maps.Point(-Infinity, -Infinity)\n }\n\n return projection.fromLatLngToContainerPixel(latLng)\n}\n\nfunction pixelToLatLng(pixel, map) {\n const projection = map.__overlayProjection\n if (!projection) {\n return new google.maps.Point(-Infinity, -Infinity)\n }\n\n return projection.fromContainerPixelToLatLng(pixel)\n}\n\nGMapCoordSysProto.dimensions = GMapCoordSys.dimensions = ['lng', 'lat']\n\nGMapCoordSysProto.type = COMPONENT_TYPE\n\nexport default GMapCoordSys\n","import { ComponentModel } from 'echarts/lib/echarts'\nimport { COMPONENT_TYPE, isNewEC, v2Equal } from './helper'\n\nconst GMapModel = {\n type: COMPONENT_TYPE,\n\n setGoogleMap(gmap) {\n this.__gmap = gmap\n },\n\n getGoogleMap() {\n // __gmap is set when creating GMapCoordSys\n return this.__gmap\n },\n\n setEChartsLayer(layer) {\n this.__echartsLayer = layer\n },\n\n getEChartsLayer() {\n return this.__echartsLayer\n },\n\n setCenterAndZoom(center, zoom) {\n this.option.center = center\n this.option.zoom = zoom\n },\n\n centerOrZoomChanged(center, zoom) {\n const option = this.option\n return !(v2Equal(center, option.center) && zoom === option.zoom)\n },\n\n defaultOption: {\n center: { lat: 39.90923, lng: 116.397428 },\n zoom: 5,\n\n // extension options\n // since v1.4.0\n roam: true,\n echartsLayerZIndex: 2000,\n renderOnMoving: true\n }\n}\n\nexport default isNewEC\n ? ComponentModel.extend(GMapModel)\n : GMapModel\n","/* global google */\n\nimport { ComponentView, getInstanceByDom, throttle } from 'echarts/lib/echarts'\nimport { isNewEC, COMPONENT_TYPE } from './helper'\n\nconst GMapView = {\n type: COMPONENT_TYPE,\n\n render(gmapModel, ecModel, api) {\n let rendering = true\n\n const gmap = gmapModel.getGoogleMap()\n const viewportRoot = api.getZr().painter.getViewportRoot()\n const coordSys = gmapModel.coordinateSystem\n const offsetEl = gmap.getDiv()\n const renderOnMoving = gmapModel.get('renderOnMoving')\n const oldWidth = offsetEl.clientWidth\n const oldHeight = offsetEl.clientHeight\n\n gmap.setOptions({\n gestureHandling: gmapModel.get('roam') ? 'auto' : 'none'\n })\n\n let renderHandler = function() {\n if (rendering) {\n return\n }\n\n // need resize?\n const width = offsetEl.clientWidth\n const height = offsetEl.clientHeight\n if (width !== oldWidth || height !== oldHeight) {\n return resizeHandler.call(this)\n }\n\n const mapOffset = [\n -parseInt(offsetEl.style.left, 10) || 0,\n -parseInt(offsetEl.style.top, 10) || 0\n ]\n viewportRoot.style.left = mapOffset[0] + 'px'\n viewportRoot.style.top = mapOffset[1] + 'px'\n\n coordSys.setMapOffset(mapOffset)\n gmapModel.__mapOffset = mapOffset\n\n api.dispatchAction({\n type: COMPONENT_TYPE + 'Roam',\n animation: {\n // in ECharts 5.x,\n // we can set animation duration as 0\n // to ensure no delay when moving or zooming\n duration: 0\n }\n })\n }\n\n let resizeHandler = function() {\n const width = offsetEl.firstChild.clientWidth\n const height = offsetEl.firstChild.clientHeight\n getInstanceByDom(api.getDom()).resize({ width, height })\n }\n\n this._oldRenderHandler && this._oldRenderHandler.remove()\n\n if (!renderOnMoving) {\n // TODO hide layer when moving\n renderHandler = throttle(renderHandler, 100, true)\n resizeHandler = throttle(resizeHandler, 100, true)\n }\n\n this._oldRenderHandler = google.maps.event.addListener(gmap, 'gmaprender', renderHandler)\n\n rendering = false\n },\n\n dispose() {\n this._oldRenderHandler && this._oldRenderHandler.remove()\n this._oldRenderHandler = null\n\n const component = this.__model\n if (!component) {\n return\n }\n\n const gmapInstance = component.getGoogleMap()\n\n if (gmapInstance) {\n // remove injected projection\n delete gmapInstance.__overlayProjection\n\n // clear all listeners of map instance\n google.maps.event.clearInstanceListeners(gmapInstance)\n\n // remove DOM of map instance\n const mapDiv = gmapInstance.getDiv()\n mapDiv.parentNode && mapDiv.parentNode.removeChild(mapDiv)\n }\n\n component.setGoogleMap(null)\n component.setEChartsLayer(null)\n\n if (component.coordinateSystem) {\n component.coordinateSystem.setGoogleMap(null)\n component.coordinateSystem = null\n }\n }\n}\n\nexport default isNewEC\n ? ComponentView.extend(GMapView)\n : GMapView\n","/**\n * Google Map component extension\n */\n\n import GMapCoordSys from './GMapCoordSys'\n import GMapModel from './GMapModel'\n import GMapView from './GMapView'\n import { isNewEC, ecVer, COMPONENT_TYPE } from './helper'\n\nexport { version, name } from '../package.json';\n\n/**\n * @typedef {import('../export').EChartsExtensionRegisters} EChartsExtensionRegisters\n */\n\n/**\n * Google Map extension installer\n * @param {EChartsExtensionRegisters} registers\n */\n export function install(registers) {\n // add coordinate system support for pie series for ECharts < 5.4.0\n if (!isNewEC || (ecVer[0] == 5 && ecVer[1] < 4)) {\n registers.registerLayout(function(ecModel) {\n ecModel.eachSeriesByType('pie', function (seriesModel) {\n const coordSys = seriesModel.coordinateSystem\n const data = seriesModel.getData()\n const valueDim = data.mapDimension('value')\n if (coordSys && coordSys.type === COMPONENT_TYPE) {\n const center = seriesModel.get('center')\n const point = coordSys.dataToPoint(center)\n const cx = point[0]\n const cy = point[1]\n data.each(valueDim, function (value, idx) {\n const layout = data.getItemLayout(idx)\n layout.cx = cx\n layout.cy = cy\n })\n }\n })\n })\n }\n // Model\n isNewEC\n ? registers.registerComponentModel(GMapModel)\n : registers.extendComponentModel(GMapModel)\n // View\n isNewEC\n ? registers.registerComponentView(GMapView)\n : registers.extendComponentView(GMapView)\n // Coordinate System\n registers.registerCoordinateSystem(COMPONENT_TYPE, GMapCoordSys)\n // Action\n registers.registerAction(\n {\n type: COMPONENT_TYPE + 'Roam',\n event: COMPONENT_TYPE + 'Roam',\n update: 'updateLayout'\n },\n function(payload, ecModel) {\n ecModel.eachComponent(COMPONENT_TYPE, function(gmapModel) {\n const gmap = gmapModel.getGoogleMap()\n const center = gmap.getCenter()\n gmapModel.setCenterAndZoom([center.lng(), center.lat()], gmap.getZoom())\n })\n }\n )\n}\n","import * as echarts from 'echarts/lib/echarts'\nimport { install } from './src/index'\nimport { isNewEC } from './src/helper'\n\nisNewEC ? echarts.use(install) : install(echarts)\n\nexport { name, version } from './src/index'\n"],"names":["ecVer","version","split","isNewEC","COMPONENT_TYPE","v2Equal","a","b","dataToCoordSize","dataSize","dataItem","zrUtil","map","dimIdx","val","halfSize","p1","p2","Math","abs","dataToPoint","GMapCoordSys","gmap","api","_gmap","dimensions","_mapOffset","_api","GMapCoordSysProto","prototype","excludedOptions","setZoom","zoom","_zoom","setCenter","center","latlng","google","maps","LatLng","_center","latLngToPixel","setMapOffset","mapOffset","setGoogleMap","getGoogleMap","data","px","x","y","pointToData","pt","pixelToLatLng","Point","lng","lat","getViewRect","graphic","BoundingRect","getWidth","getHeight","getRoamTransform","matrix","create","prepareCustoms","rect","coordSys","type","width","height","coord","bind","size","convertToPixel","ecModel","finder","value","convertFromPixel","gmapCoordSys","root","getDom","eachComponent","gmapModel","painter","getZr","viewportRoot","getViewportRoot","Map","Error","Overlay","createOverlayCtor","className","gmapRoot","querySelector","style","left","top","removeChild","document","createElement","cssText","appendChild","options","clone","get","echartsLayerZIndex","each","key","isArray","__projectionChangeListener","remove","event","addListener","layer","getEChartsLayer","setMap","overlay","setZIndex","setEChartsLayer","getViewportRootOffset","offsetLeft","offsetTop","normalizedCenter","gmapCenter","getCenter","gmapZoom","getZoom","centerOrZoomChanged","setOptions","__mapOffset","coordinateSystem","eachSeries","seriesModel","_root","OverlayView","onAdd","getMap","__overlayProjection","getProjection","getDiv","draw","trigger","onRemove","parentNode","zIndex","getZIndex","latLng","projection","Infinity","fromLatLngToContainerPixel","pixel","fromContainerPixelToLatLng","GMapModel","__gmap","__echartsLayer","setCenterAndZoom","option","defaultOption","roam","renderOnMoving","ComponentModel","extend","GMapView","render","rendering","offsetEl","oldWidth","clientWidth","oldHeight","clientHeight","gestureHandling","renderHandler","resizeHandler","call","parseInt","dispatchAction","animation","duration","firstChild","getInstanceByDom","resize","_oldRenderHandler","throttle","dispose","component","__model","gmapInstance","clearInstanceListeners","mapDiv","ComponentView","install","registers","registerLayout","eachSeriesByType","getData","valueDim","mapDimension","point","cx","cy","idx","layout","getItemLayout","registerComponentModel","extendComponentModel","registerComponentView","extendComponentView","registerCoordinateSystem","registerAction","update","payload","echarts","use"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"echarts-extension-gmap.js","sources":["../src/helper.js","../src/GMapCoordSys.js","../src/GMapModel.js","../src/GMapView.js","../src/index.js","../index.js"],"sourcesContent":["import { version } from 'echarts/lib/echarts'\n\nexport const ecVer = version.split('.')\n\nexport const isNewEC = ecVer[0] > 4\n\nexport const COMPONENT_TYPE = 'gmap'\n\nexport function v2Equal(a, b) {\n return a && b && a[0] === b[0] && a[1] === b[1]\n}\n","/* global google */\n\nimport { util as zrUtil, graphic, matrix } from 'echarts/lib/echarts'\nimport { COMPONENT_TYPE } from './helper'\n\nfunction dataToCoordSize(dataSize, dataItem) {\n dataItem = dataItem || [0, 0]\n return zrUtil.map(\n [0, 1],\n function(dimIdx) {\n const val = dataItem[dimIdx]\n const halfSize = dataSize[dimIdx] / 2\n const p1 = []\n const p2 = []\n p1[dimIdx] = val - halfSize\n p2[dimIdx] = val + halfSize\n p1[1 - dimIdx] = p2[1 - dimIdx] = dataItem[1 - dimIdx]\n return Math.abs(\n this.dataToPoint(p1)[dimIdx] - this.dataToPoint(p2)[dimIdx]\n )\n },\n this\n )\n}\n\nfunction GMapCoordSys(gmap, api) {\n this._gmap = gmap\n this.dimensions = ['lng', 'lat']\n this._mapOffset = [0, 0]\n this._api = api\n}\n\nconst GMapCoordSysProto = GMapCoordSys.prototype\n\n// exclude private and unsupported options\nconst excludedOptions = [\n 'echartsLayerZIndex',\n 'renderOnMoving'\n]\n\nGMapCoordSysProto.setZoom = function(zoom) {\n this._zoom = zoom\n}\n\nGMapCoordSysProto.setCenter = function(center) {\n const latlng = new google.maps.LatLng(center[1], center[0])\n this._center = latLngToPixel(latlng, this._gmap)\n}\n\nGMapCoordSysProto.setMapOffset = function(mapOffset) {\n this._mapOffset = mapOffset\n}\n\nGMapCoordSysProto.setGoogleMap = function(gmap) {\n this._gmap = gmap\n}\n\nGMapCoordSysProto.getGoogleMap = function() {\n return this._gmap\n}\n\nGMapCoordSysProto.dataToPoint = function(data) {\n const latlng = new google.maps.LatLng(data[1], data[0])\n const px = latLngToPixel(latlng, this._gmap)\n const mapOffset = this._mapOffset\n return [px.x - mapOffset[0], px.y - mapOffset[1]]\n}\n\nGMapCoordSysProto.pointToData = function(pt) {\n const mapOffset = this._mapOffset\n const latlng = pixelToLatLng(\n new google.maps.Point(pt[0] + mapOffset[0], pt[1] + mapOffset[1]),\n this._gmap\n )\n return [latlng.lng(), latlng.lat()]\n}\n\nGMapCoordSysProto.getViewRect = function() {\n const api = this._api\n return new graphic.BoundingRect(0, 0, api.getWidth(), api.getHeight())\n}\n\nGMapCoordSysProto.getRoamTransform = function() {\n return matrix.create()\n}\n\nGMapCoordSysProto.prepareCustoms = function() {\n const rect = this.getViewRect()\n return {\n coordSys: {\n type: COMPONENT_TYPE,\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height\n },\n api: {\n coord: zrUtil.bind(this.dataToPoint, this),\n size: zrUtil.bind(dataToCoordSize, this)\n }\n }\n}\n\nGMapCoordSysProto.convertToPixel = function(ecModel, finder, value) {\n // here we don't use finder as only one google map component is allowed\n return this.dataToPoint(value);\n}\n\nGMapCoordSysProto.convertFromPixel = function(ecModel, finder, value) {\n // here we don't use finder as only one google map component is allowed\n return this.pointToData(value);\n}\n\nGMapCoordSys.create = function(ecModel, api) {\n let gmapCoordSys\n const root = api.getDom()\n\n ecModel.eachComponent(COMPONENT_TYPE, function(gmapModel) {\n const painter = api.getZr().painter\n const viewportRoot = painter.getViewportRoot()\n if (typeof google === 'undefined' || !google.maps || !google.maps.Map) {\n throw new Error('Google Map API is not loaded')\n }\n Overlay = Overlay || createOverlayCtor()\n if (gmapCoordSys) {\n throw new Error('Only one google map component is allowed')\n }\n let gmap = gmapModel.getGoogleMap()\n if (!gmap) {\n // Not support IE8\n const className = 'ec-extension-google-map'\n let gmapRoot = root.querySelector('.' + className)\n if (gmapRoot) {\n // Reset viewport left and top, which will be changed\n // in moving handler in GMapView\n viewportRoot.style.left = '0'\n viewportRoot.style.top = '0'\n root.removeChild(gmapRoot)\n }\n gmapRoot = document.createElement('div')\n gmapRoot.className = className\n gmapRoot.style.cssText = 'position:absolute;top:0;left:0;right:0;bottom:0'\n root.appendChild(gmapRoot)\n\n const options = zrUtil.clone(gmapModel.get())\n const echartsLayerZIndex = options.echartsLayerZIndex\n // delete excluded options\n zrUtil.each(excludedOptions, function(key) {\n delete options[key]\n })\n const center = options.center\n // normalize center\n if (zrUtil.isArray(center)) {\n options.center = {\n lng: center[0],\n lat: center[1]\n }\n }\n\n gmap = new google.maps.Map(gmapRoot, options)\n gmapModel.setGoogleMap(gmap)\n\n gmapModel.__projectionChangeListener && gmapModel.__projectionChangeListener.remove()\n gmapModel.__projectionChangeListener = google.maps.event.addListener(gmap, 'projection_changed',\n function() {\n const layer = gmapModel.getEChartsLayer()\n layer && layer.setMap(null)\n\n const overlay = new Overlay(viewportRoot, gmap)\n overlay.setZIndex(echartsLayerZIndex)\n gmapModel.setEChartsLayer(overlay)\n }\n )\n\n // Override\n painter.getViewportRootOffset = function() {\n return { offsetLeft: 0, offsetTop: 0 }\n }\n }\n\n const center = gmapModel.get('center')\n const normalizedCenter = [\n center.lng != null ? center.lng : center[0],\n center.lat != null ? center.lat : center[1]\n ]\n const zoom = gmapModel.get('zoom')\n if (center && zoom) {\n const gmapCenter = gmap.getCenter()\n const gmapZoom = gmap.getZoom()\n const centerOrZoomChanged = gmapModel.centerOrZoomChanged([gmapCenter.lng(), gmapCenter.lat()], gmapZoom)\n if (centerOrZoomChanged) {\n const pt = new google.maps.LatLng(normalizedCenter[1], normalizedCenter[0])\n gmap.setOptions({\n center: pt,\n zoom: zoom\n })\n }\n }\n\n gmapCoordSys = new GMapCoordSys(gmap, api)\n gmapCoordSys.setMapOffset(gmapModel.__mapOffset || [0, 0])\n gmapCoordSys.setZoom(zoom)\n gmapCoordSys.setCenter(normalizedCenter)\n\n gmapModel.coordinateSystem = gmapCoordSys\n })\n\n ecModel.eachSeries(function(seriesModel) {\n if (seriesModel.get('coordinateSystem') === COMPONENT_TYPE) {\n seriesModel.coordinateSystem = gmapCoordSys\n }\n })\n\n // return created coordinate systems\n return gmapCoordSys && [gmapCoordSys]\n}\n\nlet Overlay\n\nfunction createOverlayCtor() {\n function Overlay(root, gmap) {\n this._root = root\n this.setMap(gmap)\n }\n\n Overlay.prototype = new google.maps.OverlayView()\n\n Overlay.prototype.onAdd = function() {\n const gmap = this.getMap()\n gmap.__overlayProjection = this.getProjection()\n gmap.getDiv().querySelector('.gm-style > div').appendChild(this._root)\n }\n\n /**\n * @override\n */\n Overlay.prototype.draw = function() {\n google.maps.event.trigger(this.getMap(), 'gmaprender')\n }\n\n Overlay.prototype.onRemove = function() {\n this._root.parentNode.removeChild(this._root)\n this._root = null\n }\n\n Overlay.prototype.setZIndex = function(zIndex) {\n this._root.style.zIndex = zIndex\n }\n\n Overlay.prototype.getZIndex = function() {\n return this._root.style.zIndex\n }\n\n return Overlay\n}\n\nfunction latLngToPixel(latLng, map) {\n const projection = map.__overlayProjection\n if (!projection) {\n return new google.maps.Point(-Infinity, -Infinity)\n }\n\n return projection.fromLatLngToContainerPixel(latLng)\n}\n\nfunction pixelToLatLng(pixel, map) {\n const projection = map.__overlayProjection\n if (!projection) {\n return new google.maps.Point(-Infinity, -Infinity)\n }\n\n return projection.fromContainerPixelToLatLng(pixel)\n}\n\nGMapCoordSysProto.dimensions = GMapCoordSys.dimensions = ['lng', 'lat']\n\nGMapCoordSysProto.type = COMPONENT_TYPE\n\nexport default GMapCoordSys\n","import { ComponentModel } from 'echarts/lib/echarts'\nimport { COMPONENT_TYPE, isNewEC, v2Equal } from './helper'\n\nconst GMapModel = {\n type: COMPONENT_TYPE,\n\n setGoogleMap(gmap) {\n this.__gmap = gmap\n },\n\n getGoogleMap() {\n // __gmap is set when creating GMapCoordSys\n return this.__gmap\n },\n\n setEChartsLayer(layer) {\n this.__echartsLayer = layer\n },\n\n getEChartsLayer() {\n return this.__echartsLayer\n },\n\n setCenterAndZoom(center, zoom) {\n this.option.center = center\n this.option.zoom = zoom\n },\n\n centerOrZoomChanged(center, zoom) {\n const option = this.option\n return !(v2Equal(center, option.center) && zoom === option.zoom)\n },\n\n defaultOption: {\n center: { lat: 39.90923, lng: 116.397428 },\n zoom: 5,\n\n // extension options\n // since v1.4.0\n roam: true,\n echartsLayerZIndex: 2000,\n renderOnMoving: true\n }\n}\n\nexport default isNewEC\n ? ComponentModel.extend(GMapModel)\n : GMapModel\n","/* global google */\n\nimport { ComponentView, getInstanceByDom, throttle } from 'echarts/lib/echarts'\nimport { isNewEC, COMPONENT_TYPE } from './helper'\n\nconst GMapView = {\n type: COMPONENT_TYPE,\n\n render(gmapModel, ecModel, api) {\n let rendering = true\n\n const gmap = gmapModel.getGoogleMap()\n const viewportRoot = api.getZr().painter.getViewportRoot()\n const coordSys = gmapModel.coordinateSystem\n const renderOnMoving = gmapModel.get('renderOnMoving')\n const offsetEl = gmap.getDiv()\n const mapEl = offsetEl.firstChild\n const oldWidth = mapEl.clientWidth\n const oldHeight = mapEl.clientHeight\n\n let renderHandler = function() {\n if (rendering) {\n return\n }\n\n // reduce unnecessary resize\n if (mapEl.clientWidth !== oldWidth || mapEl.clientHeight !== oldHeight) {\n return resizeHandler()\n }\n\n const mapOffset = [\n -parseInt(offsetEl.style.left, 10) || 0,\n -parseInt(offsetEl.style.top, 10) || 0\n ]\n viewportRoot.style.left = mapOffset[0] + 'px'\n viewportRoot.style.top = mapOffset[1] + 'px'\n\n coordSys.setMapOffset(mapOffset)\n gmapModel.__mapOffset = mapOffset\n\n api.dispatchAction({\n type: COMPONENT_TYPE + 'Roam',\n animation: {\n // in ECharts 5.x,\n // we can set animation duration as 0\n // to ensure no delay when moving or zooming\n duration: 0\n }\n })\n }\n\n let resizeHandler = function() {\n // fix chart can't get resized correctly after the google map enters fullscreen\n // See also #14\n getInstanceByDom(api.getDom()).resize({\n width: mapEl.clientWidth,\n height: mapEl.clientHeight\n })\n }\n\n this._renderHandler && this._renderHandler.remove()\n\n if (!renderOnMoving) {\n // PENDING hide layer when rendering\n renderHandler = throttle(renderHandler, 100, true)\n resizeHandler = throttle(resizeHandler, 100, true)\n }\n this._renderHandler = google.maps.event.addListener(\n gmap,\n renderOnMoving ? 'gmaprender' : 'idle',\n renderHandler\n )\n\n gmap.setOptions({\n gestureHandling: gmapModel.get('roam') ? 'auto' : 'none'\n })\n\n rendering = false\n },\n\n dispose() {\n this._renderHandler && this._renderHandler.remove()\n delete this._renderHandler\n\n const component = this.__model\n if (!component) {\n return\n }\n\n const gmapInstance = component.getGoogleMap()\n\n if (gmapInstance) {\n // remove injected projection\n delete gmapInstance.__overlayProjection\n\n // clear all listeners of map instance\n google.maps.event.clearInstanceListeners(gmapInstance)\n\n // remove DOM of map instance\n const mapDiv = gmapInstance.getDiv()\n mapDiv.parentNode && mapDiv.parentNode.removeChild(mapDiv)\n }\n\n component.setGoogleMap(null)\n component.setEChartsLayer(null)\n\n if (component.coordinateSystem) {\n component.coordinateSystem.setGoogleMap(null)\n component.coordinateSystem = null\n }\n }\n}\n\nexport default isNewEC\n ? ComponentView.extend(GMapView)\n : GMapView\n","/**\n * Google Map component extension\n */\n\n import GMapCoordSys from './GMapCoordSys'\n import GMapModel from './GMapModel'\n import GMapView from './GMapView'\n import { isNewEC, ecVer, COMPONENT_TYPE } from './helper'\n\nexport { version, name } from '../package.json';\n\n/**\n * @typedef {import('../export').EChartsExtensionRegisters} EChartsExtensionRegisters\n */\n\n/**\n * Google Map extension installer\n * @param {EChartsExtensionRegisters} registers\n */\n export function install(registers) {\n // add coordinate system support for pie series for ECharts < 5.4.0\n if (!isNewEC || (ecVer[0] == 5 && ecVer[1] < 4)) {\n registers.registerLayout(function(ecModel) {\n ecModel.eachSeriesByType('pie', function (seriesModel) {\n const coordSys = seriesModel.coordinateSystem\n const data = seriesModel.getData()\n const valueDim = data.mapDimension('value')\n if (coordSys && coordSys.type === COMPONENT_TYPE) {\n const center = seriesModel.get('center')\n const point = coordSys.dataToPoint(center)\n const cx = point[0]\n const cy = point[1]\n data.each(valueDim, function (value, idx) {\n const layout = data.getItemLayout(idx)\n layout.cx = cx\n layout.cy = cy\n })\n }\n })\n })\n }\n // Model\n isNewEC\n ? registers.registerComponentModel(GMapModel)\n : registers.extendComponentModel(GMapModel)\n // View\n isNewEC\n ? registers.registerComponentView(GMapView)\n : registers.extendComponentView(GMapView)\n // Coordinate System\n registers.registerCoordinateSystem(COMPONENT_TYPE, GMapCoordSys)\n // Action\n registers.registerAction(\n {\n type: COMPONENT_TYPE + 'Roam',\n event: COMPONENT_TYPE + 'Roam',\n update: 'updateLayout'\n },\n function(payload, ecModel) {\n ecModel.eachComponent(COMPONENT_TYPE, function(gmapModel) {\n const gmap = gmapModel.getGoogleMap()\n const center = gmap.getCenter()\n gmapModel.setCenterAndZoom([center.lng(), center.lat()], gmap.getZoom())\n })\n }\n )\n}\n","import * as echarts from 'echarts/lib/echarts'\nimport { install } from './src/index'\nimport { isNewEC } from './src/helper'\n\nisNewEC ? echarts.use(install) : install(echarts)\n\nexport { name, version } from './src/index'\n"],"names":["ecVer","version","split","isNewEC","COMPONENT_TYPE","v2Equal","a","b","dataToCoordSize","dataSize","dataItem","zrUtil","map","dimIdx","val","halfSize","p1","p2","Math","abs","dataToPoint","GMapCoordSys","gmap","api","_gmap","dimensions","_mapOffset","_api","GMapCoordSysProto","prototype","excludedOptions","setZoom","zoom","_zoom","setCenter","center","latlng","google","maps","LatLng","_center","latLngToPixel","setMapOffset","mapOffset","setGoogleMap","getGoogleMap","data","px","x","y","pointToData","pt","pixelToLatLng","Point","lng","lat","getViewRect","graphic","BoundingRect","getWidth","getHeight","getRoamTransform","matrix","create","prepareCustoms","rect","coordSys","type","width","height","coord","bind","size","convertToPixel","ecModel","finder","value","convertFromPixel","gmapCoordSys","root","getDom","eachComponent","gmapModel","painter","getZr","viewportRoot","getViewportRoot","Map","Error","Overlay","createOverlayCtor","className","gmapRoot","querySelector","style","left","top","removeChild","document","createElement","cssText","appendChild","options","clone","get","echartsLayerZIndex","each","key","isArray","__projectionChangeListener","remove","event","addListener","layer","getEChartsLayer","setMap","overlay","setZIndex","setEChartsLayer","getViewportRootOffset","offsetLeft","offsetTop","normalizedCenter","gmapCenter","getCenter","gmapZoom","getZoom","centerOrZoomChanged","setOptions","__mapOffset","coordinateSystem","eachSeries","seriesModel","_root","OverlayView","onAdd","getMap","__overlayProjection","getProjection","getDiv","draw","trigger","onRemove","parentNode","zIndex","getZIndex","latLng","projection","Infinity","fromLatLngToContainerPixel","pixel","fromContainerPixelToLatLng","GMapModel","__gmap","__echartsLayer","setCenterAndZoom","option","defaultOption","roam","renderOnMoving","ComponentModel","extend","GMapView","render","rendering","offsetEl","mapEl","firstChild","oldWidth","clientWidth","oldHeight","clientHeight","renderHandler","resizeHandler","parseInt","dispatchAction","animation","duration","getInstanceByDom","resize","_renderHandler","throttle","gestureHandling","dispose","component","__model","gmapInstance","clearInstanceListeners","mapDiv","ComponentView","install","registers","registerLayout","eachSeriesByType","getData","valueDim","mapDimension","point","cx","cy","idx","layout","getItemLayout","registerComponentModel","extendComponentModel","registerComponentView","extendComponentView","registerCoordinateSystem","registerAction","update","payload","echarts","use"],"mappings":"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"} \ No newline at end of file diff --git a/dist/echarts-extension-gmap.min.js b/dist/echarts-extension-gmap.min.js index ec6c006..45e4c74 100644 --- a/dist/echarts-extension-gmap.min.js +++ b/dist/echarts-extension-gmap.min.js @@ -1,6 +1,6 @@ /*! * echarts-extension-gmap - * @version 1.5.0 + * @version 1.6.0 * @author plainheart * * MIT License @@ -26,5 +26,5 @@ * SOFTWARE. * */ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("echarts/lib/echarts")):"function"==typeof define&&define.amd?define(["exports","echarts"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).echarts=e.echarts||{},e.echarts.gmap={}),e.echarts)}(this,(function(e,t){"use strict";var o=t.version.split("."),n=o[0]>4,r="gmap";function i(e,o){return o=o||[0,0],t.util.map([0,1],(function(t){var n=o[t],r=e[t]/2,i=[],a=[];return i[t]=n-r,a[t]=n+r,i[1-t]=a[1-t]=o[1-t],Math.abs(this.dataToPoint(i)[t]-this.dataToPoint(a)[t])}),this)}function a(e,t){this._gmap=e,this.dimensions=["lng","lat"],this._mapOffset=[0,0],this._api=t}var s,l=a.prototype,g=["echartsLayerZIndex","renderOnMoving"];function p(e,t){var o=t.__overlayProjection;return o?o.fromLatLngToContainerPixel(e):new google.maps.Point(-1/0,-1/0)}l.setZoom=function(e){this._zoom=e},l.setCenter=function(e){var t=new google.maps.LatLng(e[1],e[0]);this._center=p(t,this._gmap)},l.setMapOffset=function(e){this._mapOffset=e},l.setGoogleMap=function(e){this._gmap=e},l.getGoogleMap=function(){return this._gmap},l.dataToPoint=function(e){var t=p(new google.maps.LatLng(e[1],e[0]),this._gmap),o=this._mapOffset;return[t.x-o[0],t.y-o[1]]},l.pointToData=function(e){var t=this._mapOffset,o=function(e,t){var o=t.__overlayProjection;if(!o)return new google.maps.Point(-1/0,-1/0);return o.fromContainerPixelToLatLng(e)}(new google.maps.Point(e[0]+t[0],e[1]+t[1]),this._gmap);return[o.lng(),o.lat()]},l.getViewRect=function(){var e=this._api;return new t.graphic.BoundingRect(0,0,e.getWidth(),e.getHeight())},l.getRoamTransform=function(){return t.matrix.create()},l.prepareCustoms=function(){var e=this.getViewRect();return{coordSys:{type:r,x:e.x,y:e.y,width:e.width,height:e.height},api:{coord:t.util.bind(this.dataToPoint,this),size:t.util.bind(i,this)}}},l.convertToPixel=function(e,t,o){return this.dataToPoint(o)},l.convertFromPixel=function(e,t,o){return this.pointToData(o)},a.create=function(e,o){var n,i=o.getDom();return e.eachComponent(r,(function(e){var r=o.getZr().painter,l=r.getViewportRoot();if("undefined"==typeof google||!google.maps||!google.maps.Map)throw new Error("Google Map API is not loaded");if(s=s||function(){function e(e,t){this._root=e,this.setMap(t)}return e.prototype=new google.maps.OverlayView,e.prototype.onAdd=function(){var e=this.getMap();e.__overlayProjection=this.getProjection(),e.getDiv().querySelector(".gm-style > div").appendChild(this._root)},e.prototype.draw=function(){google.maps.event.trigger(this.getMap(),"gmaprender")},e.prototype.onRemove=function(){this._root.parentNode.removeChild(this._root),this._root=null},e.prototype.setZIndex=function(e){this._root.style.zIndex=e},e.prototype.getZIndex=function(){return this._root.style.zIndex},e}(),n)throw new Error("Only one google map component is allowed");var p=e.getGoogleMap();if(!p){var c="ec-extension-google-map",d=i.querySelector("."+c);d&&(l.style.left="0",l.style.top="0",i.removeChild(d)),(d=document.createElement("div")).className=c,d.style.cssText="position:absolute;top:0;left:0;right:0;bottom:0",i.appendChild(d);var h=t.util.clone(e.get()),u=h.echartsLayerZIndex;t.util.each(g,(function(e){delete h[e]}));var m=h.center;t.util.isArray(m)&&(h.center={lng:m[0],lat:m[1]}),p=new google.maps.Map(d,h),e.setGoogleMap(p),e.__projectionChangeListener&&e.__projectionChangeListener.remove(),e.__projectionChangeListener=google.maps.event.addListener(p,"projection_changed",(function(){var t=e.getEChartsLayer();t&&t.setMap(null);var o=new s(l,p);o.setZIndex(u),e.setEChartsLayer(o)})),r.getViewportRootOffset=function(){return{offsetLeft:0,offsetTop:0}}}var f=e.get("center"),y=[null!=f.lng?f.lng:f[0],null!=f.lat?f.lat:f[1]],v=e.get("zoom");if(f&&v){var _=p.getCenter(),C=p.getZoom();if(e.centerOrZoomChanged([_.lng(),_.lat()],C)){var L=new google.maps.LatLng(y[1],y[0]);p.setOptions({center:L,zoom:v})}}(n=new a(p,o)).setMapOffset(e.__mapOffset||[0,0]),n.setZoom(v),n.setCenter(y),e.coordinateSystem=n})),e.eachSeries((function(e){e.get("coordinateSystem")===r&&(e.coordinateSystem=n)})),n&&[n]},l.dimensions=a.dimensions=["lng","lat"],l.type=r;var c={type:r,setGoogleMap:function(e){this.__gmap=e},getGoogleMap:function(){return this.__gmap},setEChartsLayer:function(e){this.__echartsLayer=e},getEChartsLayer:function(){return this.__echartsLayer},setCenterAndZoom:function(e,t){this.option.center=e,this.option.zoom=t},centerOrZoomChanged:function(e,t){var o,n,r=this.option;return n=r.center,!((o=e)&&n&&o[0]===n[0]&&o[1]===n[1]&&t===r.zoom)},defaultOption:{center:{lat:39.90923,lng:116.397428},zoom:5,roam:!0,echartsLayerZIndex:2e3,renderOnMoving:!0}},d=n?t.ComponentModel.extend(c):c,h={type:r,render:function(e,o,n){var r=!0,i=e.getGoogleMap(),a=n.getZr().painter.getViewportRoot(),s=e.coordinateSystem,l=i.getDiv(),g=e.get("renderOnMoving"),p=l.clientWidth,c=l.clientHeight;i.setOptions({gestureHandling:e.get("roam")?"auto":"none"});var d=function(){if(!r){if(l.clientWidth!==p||l.clientHeight!==c)return h.call(this);var t=[-parseInt(l.style.left,10)||0,-parseInt(l.style.top,10)||0];a.style.left=t[0]+"px",a.style.top=t[1]+"px",s.setMapOffset(t),e.__mapOffset=t,n.dispatchAction({type:"gmapRoam",animation:{duration:0}})}},h=function(){var e=l.firstChild.clientWidth,o=l.firstChild.clientHeight;t.getInstanceByDom(n.getDom()).resize({width:e,height:o})};this._oldRenderHandler&&this._oldRenderHandler.remove(),g||(d=t.throttle(d,100,!0),h=t.throttle(h,100,!0)),this._oldRenderHandler=google.maps.event.addListener(i,"gmaprender",d),r=!1},dispose:function(){this._oldRenderHandler&&this._oldRenderHandler.remove(),this._oldRenderHandler=null;var e=this.__model;if(e){var t=e.getGoogleMap();if(t){delete t.__overlayProjection,google.maps.event.clearInstanceListeners(t);var o=t.getDiv();o.parentNode&&o.parentNode.removeChild(o)}e.setGoogleMap(null),e.setEChartsLayer(null),e.coordinateSystem&&(e.coordinateSystem.setGoogleMap(null),e.coordinateSystem=null)}}},u=n?t.ComponentView.extend(h):h;function m(e){(!n||5==o[0]&&o[1]<4)&&e.registerLayout((function(e){e.eachSeriesByType("pie",(function(e){var t=e.coordinateSystem,o=e.getData(),n=o.mapDimension("value");if(t&&t.type===r){var i=e.get("center"),a=t.dataToPoint(i),s=a[0],l=a[1];o.each(n,(function(e,t){var n=o.getItemLayout(t);n.cx=s,n.cy=l}))}}))})),n?e.registerComponentModel(d):e.extendComponentModel(d),n?e.registerComponentView(u):e.extendComponentView(u),e.registerCoordinateSystem(r,a),e.registerAction({type:"gmapRoam",event:"gmapRoam",update:"updateLayout"},(function(e,t){t.eachComponent(r,(function(e){var t=e.getGoogleMap(),o=t.getCenter();e.setCenterAndZoom([o.lng(),o.lat()],t.getZoom())}))}))}n?t.use(m):m(t),e.name="echarts-extension-gmap",e.version="1.5.0",Object.defineProperty(e,"__esModule",{value:!0})})); +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("echarts/lib/echarts")):"function"==typeof define&&define.amd?define(["exports","echarts"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).echarts=e.echarts||{},e.echarts.gmap={}),e.echarts)}(this,(function(e,t){"use strict";var o=t.version.split("."),n=o[0]>4,r="gmap";function i(e,o){return o=o||[0,0],t.util.map([0,1],(function(t){var n=o[t],r=e[t]/2,i=[],a=[];return i[t]=n-r,a[t]=n+r,i[1-t]=a[1-t]=o[1-t],Math.abs(this.dataToPoint(i)[t]-this.dataToPoint(a)[t])}),this)}function a(e,t){this._gmap=e,this.dimensions=["lng","lat"],this._mapOffset=[0,0],this._api=t}var s,g=a.prototype,l=["echartsLayerZIndex","renderOnMoving"];function p(e,t){var o=t.__overlayProjection;return o?o.fromLatLngToContainerPixel(e):new google.maps.Point(-1/0,-1/0)}g.setZoom=function(e){this._zoom=e},g.setCenter=function(e){var t=new google.maps.LatLng(e[1],e[0]);this._center=p(t,this._gmap)},g.setMapOffset=function(e){this._mapOffset=e},g.setGoogleMap=function(e){this._gmap=e},g.getGoogleMap=function(){return this._gmap},g.dataToPoint=function(e){var t=p(new google.maps.LatLng(e[1],e[0]),this._gmap),o=this._mapOffset;return[t.x-o[0],t.y-o[1]]},g.pointToData=function(e){var t=this._mapOffset,o=function(e,t){var o=t.__overlayProjection;if(!o)return new google.maps.Point(-1/0,-1/0);return o.fromContainerPixelToLatLng(e)}(new google.maps.Point(e[0]+t[0],e[1]+t[1]),this._gmap);return[o.lng(),o.lat()]},g.getViewRect=function(){var e=this._api;return new t.graphic.BoundingRect(0,0,e.getWidth(),e.getHeight())},g.getRoamTransform=function(){return t.matrix.create()},g.prepareCustoms=function(){var e=this.getViewRect();return{coordSys:{type:r,x:e.x,y:e.y,width:e.width,height:e.height},api:{coord:t.util.bind(this.dataToPoint,this),size:t.util.bind(i,this)}}},g.convertToPixel=function(e,t,o){return this.dataToPoint(o)},g.convertFromPixel=function(e,t,o){return this.pointToData(o)},a.create=function(e,o){var n,i=o.getDom();return e.eachComponent(r,(function(e){var r=o.getZr().painter,g=r.getViewportRoot();if("undefined"==typeof google||!google.maps||!google.maps.Map)throw new Error("Google Map API is not loaded");if(s=s||function(){function e(e,t){this._root=e,this.setMap(t)}return e.prototype=new google.maps.OverlayView,e.prototype.onAdd=function(){var e=this.getMap();e.__overlayProjection=this.getProjection(),e.getDiv().querySelector(".gm-style > div").appendChild(this._root)},e.prototype.draw=function(){google.maps.event.trigger(this.getMap(),"gmaprender")},e.prototype.onRemove=function(){this._root.parentNode.removeChild(this._root),this._root=null},e.prototype.setZIndex=function(e){this._root.style.zIndex=e},e.prototype.getZIndex=function(){return this._root.style.zIndex},e}(),n)throw new Error("Only one google map component is allowed");var p=e.getGoogleMap();if(!p){var c="ec-extension-google-map",d=i.querySelector("."+c);d&&(g.style.left="0",g.style.top="0",i.removeChild(d)),(d=document.createElement("div")).className=c,d.style.cssText="position:absolute;top:0;left:0;right:0;bottom:0",i.appendChild(d);var h=t.util.clone(e.get()),u=h.echartsLayerZIndex;t.util.each(l,(function(e){delete h[e]}));var f=h.center;t.util.isArray(f)&&(h.center={lng:f[0],lat:f[1]}),p=new google.maps.Map(d,h),e.setGoogleMap(p),e.__projectionChangeListener&&e.__projectionChangeListener.remove(),e.__projectionChangeListener=google.maps.event.addListener(p,"projection_changed",(function(){var t=e.getEChartsLayer();t&&t.setMap(null);var o=new s(g,p);o.setZIndex(u),e.setEChartsLayer(o)})),r.getViewportRootOffset=function(){return{offsetLeft:0,offsetTop:0}}}var m=e.get("center"),y=[null!=m.lng?m.lng:m[0],null!=m.lat?m.lat:m[1]],v=e.get("zoom");if(m&&v){var _=p.getCenter(),C=p.getZoom();if(e.centerOrZoomChanged([_.lng(),_.lat()],C)){var L=new google.maps.LatLng(y[1],y[0]);p.setOptions({center:L,zoom:v})}}(n=new a(p,o)).setMapOffset(e.__mapOffset||[0,0]),n.setZoom(v),n.setCenter(y),e.coordinateSystem=n})),e.eachSeries((function(e){e.get("coordinateSystem")===r&&(e.coordinateSystem=n)})),n&&[n]},g.dimensions=a.dimensions=["lng","lat"],g.type=r;var c={type:r,setGoogleMap:function(e){this.__gmap=e},getGoogleMap:function(){return this.__gmap},setEChartsLayer:function(e){this.__echartsLayer=e},getEChartsLayer:function(){return this.__echartsLayer},setCenterAndZoom:function(e,t){this.option.center=e,this.option.zoom=t},centerOrZoomChanged:function(e,t){var o,n,r=this.option;return n=r.center,!((o=e)&&n&&o[0]===n[0]&&o[1]===n[1]&&t===r.zoom)},defaultOption:{center:{lat:39.90923,lng:116.397428},zoom:5,roam:!0,echartsLayerZIndex:2e3,renderOnMoving:!0}},d=n?t.ComponentModel.extend(c):c,h={type:r,render:function(e,o,n){var i=!0,a=e.getGoogleMap(),s=n.getZr().painter.getViewportRoot(),g=e.coordinateSystem,l=e.get("renderOnMoving"),p=a.getDiv(),c=p.firstChild,d=c.clientWidth,h=c.clientHeight,u=function(){if(!i){if(c.clientWidth!==d||c.clientHeight!==h)return f();var t=[-parseInt(p.style.left,10)||0,-parseInt(p.style.top,10)||0];s.style.left=t[0]+"px",s.style.top=t[1]+"px",g.setMapOffset(t),e.__mapOffset=t,n.dispatchAction({type:r+"Roam",animation:{duration:0}})}},f=function(){t.getInstanceByDom(n.getDom()).resize({width:c.clientWidth,height:c.clientHeight})};this._renderHandler&&this._renderHandler.remove(),l||(u=t.throttle(u,100,!0),f=t.throttle(f,100,!0)),this._renderHandler=google.maps.event.addListener(a,l?"gmaprender":"idle",u),a.setOptions({gestureHandling:e.get("roam")?"auto":"none"}),i=!1},dispose:function(){this._renderHandler&&this._renderHandler.remove(),delete this._renderHandler;var e=this.__model;if(e){var t=e.getGoogleMap();if(t){delete t.__overlayProjection,google.maps.event.clearInstanceListeners(t);var o=t.getDiv();o.parentNode&&o.parentNode.removeChild(o)}e.setGoogleMap(null),e.setEChartsLayer(null),e.coordinateSystem&&(e.coordinateSystem.setGoogleMap(null),e.coordinateSystem=null)}}},u=n?t.ComponentView.extend(h):h;function f(e){(!n||5==o[0]&&o[1]<4)&&e.registerLayout((function(e){e.eachSeriesByType("pie",(function(e){var t=e.coordinateSystem,o=e.getData(),n=o.mapDimension("value");if(t&&t.type===r){var i=e.get("center"),a=t.dataToPoint(i),s=a[0],g=a[1];o.each(n,(function(e,t){var n=o.getItemLayout(t);n.cx=s,n.cy=g}))}}))})),n?e.registerComponentModel(d):e.extendComponentModel(d),n?e.registerComponentView(u):e.extendComponentView(u),e.registerCoordinateSystem(r,a),e.registerAction({type:r+"Roam",event:r+"Roam",update:"updateLayout"},(function(e,t){t.eachComponent(r,(function(e){var t=e.getGoogleMap(),o=t.getCenter();e.setCenterAndZoom([o.lng(),o.lat()],t.getZoom())}))}))}n?t.use(f):f(t),e.name="echarts-extension-gmap",e.version="1.6.0"})); //# sourceMappingURL=echarts-extension-gmap.min.js.map diff --git a/dist/echarts-extension-gmap.min.js.map b/dist/echarts-extension-gmap.min.js.map index d444ffd..e8d55c5 100644 --- a/dist/echarts-extension-gmap.min.js.map +++ b/dist/echarts-extension-gmap.min.js.map @@ -1 +1 @@ -{"version":3,"file":"echarts-extension-gmap.min.js","sources":["../src/helper.js","../src/GMapCoordSys.js","../src/GMapModel.js","../src/GMapView.js","../src/index.js","../index.js"],"sourcesContent":["import { version } from 'echarts/lib/echarts'\n\nexport const ecVer = version.split('.')\n\nexport const isNewEC = ecVer[0] > 4\n\nexport const COMPONENT_TYPE = 'gmap'\n\nexport function v2Equal(a, b) {\n return a && b && a[0] === b[0] && a[1] === b[1]\n}\n","/* global google */\n\nimport { util as zrUtil, graphic, matrix } from 'echarts/lib/echarts'\nimport { COMPONENT_TYPE } from './helper'\n\nfunction dataToCoordSize(dataSize, dataItem) {\n dataItem = dataItem || [0, 0]\n return zrUtil.map(\n [0, 1],\n function(dimIdx) {\n const val = dataItem[dimIdx]\n const halfSize = dataSize[dimIdx] / 2\n const p1 = []\n const p2 = []\n p1[dimIdx] = val - halfSize\n p2[dimIdx] = val + halfSize\n p1[1 - dimIdx] = p2[1 - dimIdx] = dataItem[1 - dimIdx]\n return Math.abs(\n this.dataToPoint(p1)[dimIdx] - this.dataToPoint(p2)[dimIdx]\n )\n },\n this\n )\n}\n\nfunction GMapCoordSys(gmap, api) {\n this._gmap = gmap\n this.dimensions = ['lng', 'lat']\n this._mapOffset = [0, 0]\n this._api = api\n}\n\nconst GMapCoordSysProto = GMapCoordSys.prototype\n\n// exclude private and unsupported options\nconst excludedOptions = [\n 'echartsLayerZIndex',\n 'renderOnMoving'\n]\n\nGMapCoordSysProto.setZoom = function(zoom) {\n this._zoom = zoom\n}\n\nGMapCoordSysProto.setCenter = function(center) {\n const latlng = new google.maps.LatLng(center[1], center[0])\n this._center = latLngToPixel(latlng, this._gmap)\n}\n\nGMapCoordSysProto.setMapOffset = function(mapOffset) {\n this._mapOffset = mapOffset\n}\n\nGMapCoordSysProto.setGoogleMap = function(gmap) {\n this._gmap = gmap\n}\n\nGMapCoordSysProto.getGoogleMap = function() {\n return this._gmap\n}\n\nGMapCoordSysProto.dataToPoint = function(data) {\n const latlng = new google.maps.LatLng(data[1], data[0])\n const px = latLngToPixel(latlng, this._gmap)\n const mapOffset = this._mapOffset\n return [px.x - mapOffset[0], px.y - mapOffset[1]]\n}\n\nGMapCoordSysProto.pointToData = function(pt) {\n const mapOffset = this._mapOffset\n const latlng = pixelToLatLng(\n new google.maps.Point(pt[0] + mapOffset[0], pt[1] + mapOffset[1]),\n this._gmap\n )\n return [latlng.lng(), latlng.lat()]\n}\n\nGMapCoordSysProto.getViewRect = function() {\n const api = this._api\n return new graphic.BoundingRect(0, 0, api.getWidth(), api.getHeight())\n}\n\nGMapCoordSysProto.getRoamTransform = function() {\n return matrix.create()\n}\n\nGMapCoordSysProto.prepareCustoms = function() {\n const rect = this.getViewRect()\n return {\n coordSys: {\n type: COMPONENT_TYPE,\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height\n },\n api: {\n coord: zrUtil.bind(this.dataToPoint, this),\n size: zrUtil.bind(dataToCoordSize, this)\n }\n }\n}\n\nGMapCoordSysProto.convertToPixel = function(ecModel, finder, value) {\n // here we don't use finder as only one google map component is allowed\n return this.dataToPoint(value);\n}\n\nGMapCoordSysProto.convertFromPixel = function(ecModel, finder, value) {\n // here we don't use finder as only one google map component is allowed\n return this.pointToData(value);\n}\n\nGMapCoordSys.create = function(ecModel, api) {\n let gmapCoordSys\n const root = api.getDom()\n\n ecModel.eachComponent(COMPONENT_TYPE, function(gmapModel) {\n const painter = api.getZr().painter\n const viewportRoot = painter.getViewportRoot()\n if (typeof google === 'undefined' || !google.maps || !google.maps.Map) {\n throw new Error('Google Map API is not loaded')\n }\n Overlay = Overlay || createOverlayCtor()\n if (gmapCoordSys) {\n throw new Error('Only one google map component is allowed')\n }\n let gmap = gmapModel.getGoogleMap()\n if (!gmap) {\n // Not support IE8\n const className = 'ec-extension-google-map'\n let gmapRoot = root.querySelector('.' + className)\n if (gmapRoot) {\n // Reset viewport left and top, which will be changed\n // in moving handler in GMapView\n viewportRoot.style.left = '0'\n viewportRoot.style.top = '0'\n root.removeChild(gmapRoot)\n }\n gmapRoot = document.createElement('div')\n gmapRoot.className = className\n gmapRoot.style.cssText = 'position:absolute;top:0;left:0;right:0;bottom:0'\n root.appendChild(gmapRoot)\n\n const options = zrUtil.clone(gmapModel.get())\n const echartsLayerZIndex = options.echartsLayerZIndex\n // delete excluded options\n zrUtil.each(excludedOptions, function(key) {\n delete options[key]\n })\n const center = options.center\n // normalize center\n if (zrUtil.isArray(center)) {\n options.center = {\n lng: center[0],\n lat: center[1]\n }\n }\n\n gmap = new google.maps.Map(gmapRoot, options)\n gmapModel.setGoogleMap(gmap)\n\n gmapModel.__projectionChangeListener && gmapModel.__projectionChangeListener.remove()\n gmapModel.__projectionChangeListener = google.maps.event.addListener(gmap, 'projection_changed',\n function() {\n const layer = gmapModel.getEChartsLayer()\n layer && layer.setMap(null)\n\n const overlay = new Overlay(viewportRoot, gmap)\n overlay.setZIndex(echartsLayerZIndex)\n gmapModel.setEChartsLayer(overlay)\n }\n )\n\n // Override\n painter.getViewportRootOffset = function() {\n return { offsetLeft: 0, offsetTop: 0 }\n }\n }\n\n const center = gmapModel.get('center')\n const normalizedCenter = [\n center.lng != null ? center.lng : center[0],\n center.lat != null ? center.lat : center[1]\n ]\n const zoom = gmapModel.get('zoom')\n if (center && zoom) {\n const gmapCenter = gmap.getCenter()\n const gmapZoom = gmap.getZoom()\n const centerOrZoomChanged = gmapModel.centerOrZoomChanged([gmapCenter.lng(), gmapCenter.lat()], gmapZoom)\n if (centerOrZoomChanged) {\n const pt = new google.maps.LatLng(normalizedCenter[1], normalizedCenter[0])\n gmap.setOptions({\n center: pt,\n zoom: zoom\n })\n }\n }\n\n gmapCoordSys = new GMapCoordSys(gmap, api)\n gmapCoordSys.setMapOffset(gmapModel.__mapOffset || [0, 0])\n gmapCoordSys.setZoom(zoom)\n gmapCoordSys.setCenter(normalizedCenter)\n\n gmapModel.coordinateSystem = gmapCoordSys\n })\n\n ecModel.eachSeries(function(seriesModel) {\n if (seriesModel.get('coordinateSystem') === COMPONENT_TYPE) {\n seriesModel.coordinateSystem = gmapCoordSys\n }\n })\n\n // return created coordinate systems\n return gmapCoordSys && [gmapCoordSys]\n}\n\nlet Overlay\n\nfunction createOverlayCtor() {\n function Overlay(root, gmap) {\n this._root = root\n this.setMap(gmap)\n }\n\n Overlay.prototype = new google.maps.OverlayView()\n\n Overlay.prototype.onAdd = function() {\n const gmap = this.getMap()\n gmap.__overlayProjection = this.getProjection()\n gmap.getDiv().querySelector('.gm-style > div').appendChild(this._root)\n }\n\n /**\n * @override\n */\n Overlay.prototype.draw = function() {\n google.maps.event.trigger(this.getMap(), 'gmaprender')\n }\n\n Overlay.prototype.onRemove = function() {\n this._root.parentNode.removeChild(this._root)\n this._root = null\n }\n\n Overlay.prototype.setZIndex = function(zIndex) {\n this._root.style.zIndex = zIndex\n }\n\n Overlay.prototype.getZIndex = function() {\n return this._root.style.zIndex\n }\n\n return Overlay\n}\n\nfunction latLngToPixel(latLng, map) {\n const projection = map.__overlayProjection\n if (!projection) {\n return new google.maps.Point(-Infinity, -Infinity)\n }\n\n return projection.fromLatLngToContainerPixel(latLng)\n}\n\nfunction pixelToLatLng(pixel, map) {\n const projection = map.__overlayProjection\n if (!projection) {\n return new google.maps.Point(-Infinity, -Infinity)\n }\n\n return projection.fromContainerPixelToLatLng(pixel)\n}\n\nGMapCoordSysProto.dimensions = GMapCoordSys.dimensions = ['lng', 'lat']\n\nGMapCoordSysProto.type = COMPONENT_TYPE\n\nexport default GMapCoordSys\n","import { ComponentModel } from 'echarts/lib/echarts'\nimport { COMPONENT_TYPE, isNewEC, v2Equal } from './helper'\n\nconst GMapModel = {\n type: COMPONENT_TYPE,\n\n setGoogleMap(gmap) {\n this.__gmap = gmap\n },\n\n getGoogleMap() {\n // __gmap is set when creating GMapCoordSys\n return this.__gmap\n },\n\n setEChartsLayer(layer) {\n this.__echartsLayer = layer\n },\n\n getEChartsLayer() {\n return this.__echartsLayer\n },\n\n setCenterAndZoom(center, zoom) {\n this.option.center = center\n this.option.zoom = zoom\n },\n\n centerOrZoomChanged(center, zoom) {\n const option = this.option\n return !(v2Equal(center, option.center) && zoom === option.zoom)\n },\n\n defaultOption: {\n center: { lat: 39.90923, lng: 116.397428 },\n zoom: 5,\n\n // extension options\n // since v1.4.0\n roam: true,\n echartsLayerZIndex: 2000,\n renderOnMoving: true\n }\n}\n\nexport default isNewEC\n ? ComponentModel.extend(GMapModel)\n : GMapModel\n","/* global google */\n\nimport { ComponentView, getInstanceByDom, throttle } from 'echarts/lib/echarts'\nimport { isNewEC, COMPONENT_TYPE } from './helper'\n\nconst GMapView = {\n type: COMPONENT_TYPE,\n\n render(gmapModel, ecModel, api) {\n let rendering = true\n\n const gmap = gmapModel.getGoogleMap()\n const viewportRoot = api.getZr().painter.getViewportRoot()\n const coordSys = gmapModel.coordinateSystem\n const offsetEl = gmap.getDiv()\n const renderOnMoving = gmapModel.get('renderOnMoving')\n const oldWidth = offsetEl.clientWidth\n const oldHeight = offsetEl.clientHeight\n\n gmap.setOptions({\n gestureHandling: gmapModel.get('roam') ? 'auto' : 'none'\n })\n\n let renderHandler = function() {\n if (rendering) {\n return\n }\n\n // need resize?\n const width = offsetEl.clientWidth\n const height = offsetEl.clientHeight\n if (width !== oldWidth || height !== oldHeight) {\n return resizeHandler.call(this)\n }\n\n const mapOffset = [\n -parseInt(offsetEl.style.left, 10) || 0,\n -parseInt(offsetEl.style.top, 10) || 0\n ]\n viewportRoot.style.left = mapOffset[0] + 'px'\n viewportRoot.style.top = mapOffset[1] + 'px'\n\n coordSys.setMapOffset(mapOffset)\n gmapModel.__mapOffset = mapOffset\n\n api.dispatchAction({\n type: COMPONENT_TYPE + 'Roam',\n animation: {\n // in ECharts 5.x,\n // we can set animation duration as 0\n // to ensure no delay when moving or zooming\n duration: 0\n }\n })\n }\n\n let resizeHandler = function() {\n const width = offsetEl.firstChild.clientWidth\n const height = offsetEl.firstChild.clientHeight\n getInstanceByDom(api.getDom()).resize({ width, height })\n }\n\n this._oldRenderHandler && this._oldRenderHandler.remove()\n\n if (!renderOnMoving) {\n // TODO hide layer when moving\n renderHandler = throttle(renderHandler, 100, true)\n resizeHandler = throttle(resizeHandler, 100, true)\n }\n\n this._oldRenderHandler = google.maps.event.addListener(gmap, 'gmaprender', renderHandler)\n\n rendering = false\n },\n\n dispose() {\n this._oldRenderHandler && this._oldRenderHandler.remove()\n this._oldRenderHandler = null\n\n const component = this.__model\n if (!component) {\n return\n }\n\n const gmapInstance = component.getGoogleMap()\n\n if (gmapInstance) {\n // remove injected projection\n delete gmapInstance.__overlayProjection\n\n // clear all listeners of map instance\n google.maps.event.clearInstanceListeners(gmapInstance)\n\n // remove DOM of map instance\n const mapDiv = gmapInstance.getDiv()\n mapDiv.parentNode && mapDiv.parentNode.removeChild(mapDiv)\n }\n\n component.setGoogleMap(null)\n component.setEChartsLayer(null)\n\n if (component.coordinateSystem) {\n component.coordinateSystem.setGoogleMap(null)\n component.coordinateSystem = null\n }\n }\n}\n\nexport default isNewEC\n ? ComponentView.extend(GMapView)\n : GMapView\n","/**\n * Google Map component extension\n */\n\n import GMapCoordSys from './GMapCoordSys'\n import GMapModel from './GMapModel'\n import GMapView from './GMapView'\n import { isNewEC, ecVer, COMPONENT_TYPE } from './helper'\n\nexport { version, name } from '../package.json';\n\n/**\n * @typedef {import('../export').EChartsExtensionRegisters} EChartsExtensionRegisters\n */\n\n/**\n * Google Map extension installer\n * @param {EChartsExtensionRegisters} registers\n */\n export function install(registers) {\n // add coordinate system support for pie series for ECharts < 5.4.0\n if (!isNewEC || (ecVer[0] == 5 && ecVer[1] < 4)) {\n registers.registerLayout(function(ecModel) {\n ecModel.eachSeriesByType('pie', function (seriesModel) {\n const coordSys = seriesModel.coordinateSystem\n const data = seriesModel.getData()\n const valueDim = data.mapDimension('value')\n if (coordSys && coordSys.type === COMPONENT_TYPE) {\n const center = seriesModel.get('center')\n const point = coordSys.dataToPoint(center)\n const cx = point[0]\n const cy = point[1]\n data.each(valueDim, function (value, idx) {\n const layout = data.getItemLayout(idx)\n layout.cx = cx\n layout.cy = cy\n })\n }\n })\n })\n }\n // Model\n isNewEC\n ? registers.registerComponentModel(GMapModel)\n : registers.extendComponentModel(GMapModel)\n // View\n isNewEC\n ? registers.registerComponentView(GMapView)\n : registers.extendComponentView(GMapView)\n // Coordinate System\n registers.registerCoordinateSystem(COMPONENT_TYPE, GMapCoordSys)\n // Action\n registers.registerAction(\n {\n type: COMPONENT_TYPE + 'Roam',\n event: COMPONENT_TYPE + 'Roam',\n update: 'updateLayout'\n },\n function(payload, ecModel) {\n ecModel.eachComponent(COMPONENT_TYPE, function(gmapModel) {\n const gmap = gmapModel.getGoogleMap()\n const center = gmap.getCenter()\n gmapModel.setCenterAndZoom([center.lng(), center.lat()], gmap.getZoom())\n })\n }\n )\n}\n","import * as echarts from 'echarts/lib/echarts'\nimport { install } from './src/index'\nimport { isNewEC } from './src/helper'\n\nisNewEC ? echarts.use(install) : install(echarts)\n\nexport { name, version } from './src/index'\n"],"names":["ecVer","version","split","isNewEC","COMPONENT_TYPE","dataToCoordSize","dataSize","dataItem","zrUtil","map","dimIdx","val","halfSize","p1","p2","Math","abs","this","dataToPoint","GMapCoordSys","gmap","api","_gmap","dimensions","_mapOffset","_api","Overlay","GMapCoordSysProto","prototype","excludedOptions","latLngToPixel","latLng","projection","__overlayProjection","fromLatLngToContainerPixel","google","maps","Point","Infinity","setZoom","zoom","_zoom","setCenter","center","latlng","LatLng","_center","setMapOffset","mapOffset","setGoogleMap","getGoogleMap","data","px","x","y","pointToData","pt","pixel","fromContainerPixelToLatLng","pixelToLatLng","lng","lat","getViewRect","graphic","BoundingRect","getWidth","getHeight","getRoamTransform","matrix","create","prepareCustoms","rect","coordSys","type","width","height","coord","bind","size","util","convertToPixel","ecModel","finder","value","convertFromPixel","gmapCoordSys","root","getDom","eachComponent","gmapModel","painter","getZr","viewportRoot","getViewportRoot","Map","Error","_root","setMap","OverlayView","onAdd","getMap","getProjection","getDiv","querySelector","appendChild","draw","event","trigger","onRemove","parentNode","removeChild","setZIndex","zIndex","style","getZIndex","createOverlayCtor","className","gmapRoot","left","top","document","createElement","cssText","options","clone","get","echartsLayerZIndex","each","key","isArray","__projectionChangeListener","remove","addListener","layer","getEChartsLayer","overlay","setEChartsLayer","getViewportRootOffset","offsetLeft","offsetTop","normalizedCenter","gmapCenter","getCenter","gmapZoom","getZoom","centerOrZoomChanged","setOptions","__mapOffset","coordinateSystem","eachSeries","seriesModel","GMapModel","__gmap","__echartsLayer","setCenterAndZoom","option","a","b","defaultOption","roam","renderOnMoving","ComponentModel","extend","GMapView","render","rendering","offsetEl","oldWidth","clientWidth","oldHeight","clientHeight","gestureHandling","renderHandler","resizeHandler","call","parseInt","dispatchAction","animation","duration","firstChild","getInstanceByDom","resize","_oldRenderHandler","throttle","dispose","component","__model","gmapInstance","clearInstanceListeners","mapDiv","ComponentView","install","registers","registerLayout","eachSeriesByType","getData","valueDim","mapDimension","point","cx","cy","idx","layout","getItemLayout","registerComponentModel","extendComponentModel","registerComponentView","extendComponentView","registerCoordinateSystem","registerAction","update","payload","echarts","use"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;+UAEO,IAAMA,EAAQC,EAAOA,QAACC,MAAM,KAEtBC,EAAUH,EAAM,GAAK,EAErBI,EAAiB,OCD9B,SAASC,EAAgBC,EAAUC,GAEjC,OADAA,EAAWA,GAAY,CAAC,EAAG,GACpBC,EAAAA,KAAOC,IACZ,CAAC,EAAG,IACJ,SAASC,GACP,IAAMC,EAAMJ,EAASG,GACfE,EAAWN,EAASI,GAAU,EAC9BG,EAAK,GACLC,EAAK,GAIX,OAHAD,EAAGH,GAAUC,EAAMC,EACnBE,EAAGJ,GAAUC,EAAMC,EACnBC,EAAG,EAAIH,GAAUI,EAAG,EAAIJ,GAAUH,EAAS,EAAIG,GACxCK,KAAKC,IACVC,KAAKC,YAAYL,GAAIH,GAAUO,KAAKC,YAAYJ,GAAIJ,GAEvD,GACDO,KAEJ,CAEA,SAASE,EAAaC,EAAMC,GAC1BJ,KAAKK,MAAQF,EACbH,KAAKM,WAAa,CAAC,MAAO,OAC1BN,KAAKO,WAAa,CAAC,EAAG,GACtBP,KAAKQ,KAAOJ,CACd,CAEA,IAyLIK,EAzLEC,EAAoBR,EAAaS,UAGjCC,EAAkB,CACtB,qBACA,kBA2NF,SAASC,EAAcC,EAAQtB,GAC7B,IAAMuB,EAAavB,EAAIwB,oBACvB,OAAKD,EAIEA,EAAWE,2BAA2BH,GAHpC,IAAII,OAAOC,KAAKC,OAAOC,KAAWA,IAI7C,CA/NAX,EAAkBY,QAAU,SAASC,GACnCvB,KAAKwB,MAAQD,CACf,EAEAb,EAAkBe,UAAY,SAASC,GACrC,IAAMC,EAAS,IAAIT,OAAOC,KAAKS,OAAOF,EAAO,GAAIA,EAAO,IACxD1B,KAAK6B,QAAUhB,EAAcc,EAAQ3B,KAAKK,MAC5C,EAEAK,EAAkBoB,aAAe,SAASC,GACxC/B,KAAKO,WAAawB,CACpB,EAEArB,EAAkBsB,aAAe,SAAS7B,GACxCH,KAAKK,MAAQF,CACf,EAEAO,EAAkBuB,aAAe,WAC/B,OAAOjC,KAAKK,KACd,EAEAK,EAAkBT,YAAc,SAASiC,GACvC,IACMC,EAAKtB,EADI,IAAIK,OAAOC,KAAKS,OAAOM,EAAK,GAAIA,EAAK,IACnBlC,KAAKK,OAChC0B,EAAY/B,KAAKO,WACvB,MAAO,CAAC4B,EAAGC,EAAIL,EAAU,GAAII,EAAGE,EAAIN,EAAU,GAChD,EAEArB,EAAkB4B,YAAc,SAASC,GACvC,IAAMR,EAAY/B,KAAKO,WACjBoB,EAmMR,SAAuBa,EAAOhD,GAC5B,IAAMuB,EAAavB,EAAIwB,oBACvB,IAAKD,EACH,OAAO,IAAIG,OAAOC,KAAKC,OAAOC,KAAWA,KAG3C,OAAON,EAAW0B,2BAA2BD,EAC/C,CA1MiBE,CACb,IAAIxB,OAAOC,KAAKC,MAAMmB,EAAG,GAAKR,EAAU,GAAIQ,EAAG,GAAKR,EAAU,IAC9D/B,KAAKK,OAEP,MAAO,CAACsB,EAAOgB,MAAOhB,EAAOiB,MAC/B,EAEAlC,EAAkBmC,YAAc,WAC9B,IAAMzC,EAAMJ,KAAKQ,KACjB,OAAO,IAAIsC,EAAOA,QAACC,aAAa,EAAG,EAAG3C,EAAI4C,WAAY5C,EAAI6C,YAC5D,EAEAvC,EAAkBwC,iBAAmB,WACnC,OAAOC,EAAAA,OAAOC,QAChB,EAEA1C,EAAkB2C,eAAiB,WACjC,IAAMC,EAAOtD,KAAK6C,cAClB,MAAO,CACLU,SAAU,CACRC,KAAMrE,EACNiD,EAAGkB,EAAKlB,EACRC,EAAGiB,EAAKjB,EACRoB,MAAOH,EAAKG,MACZC,OAAQJ,EAAKI,QAEftD,IAAK,CACHuD,MAAOpE,EAAAA,KAAOqE,KAAK5D,KAAKC,YAAaD,MACrC6D,KAAMtE,EAAMuE,KAACF,KAAKxE,EAAiBY,OAGzC,EAEAU,EAAkBqD,eAAiB,SAASC,EAASC,EAAQC,GAE3D,OAAOlE,KAAKC,YAAYiE,EAC1B,EAEAxD,EAAkByD,iBAAmB,SAASH,EAASC,EAAQC,GAE7D,OAAOlE,KAAKsC,YAAY4B,EAC1B,EAEAhE,EAAakD,OAAS,SAASY,EAAS5D,GACtC,IAAIgE,EACEC,EAAOjE,EAAIkE,SAmGjB,OAjGAN,EAAQO,cAAcpF,GAAgB,SAASqF,GAC7C,IAAMC,EAAUrE,EAAIsE,QAAQD,QACtBE,EAAeF,EAAQG,kBAC7B,GAAsB,oBAAX1D,SAA2BA,OAAOC,OAASD,OAAOC,KAAK0D,IAChE,MAAM,IAAIC,MAAM,gCAGlB,GADArE,EAAUA,GAgGd,WACI,SAASA,EAAQ4D,EAAMlE,GACrBH,KAAK+E,MAAQV,EACbrE,KAAKgF,OAAO7E,EACd,CA8BA,OA5BAM,EAAQE,UAAY,IAAIO,OAAOC,KAAK8D,YAEpCxE,EAAQE,UAAUuE,MAAQ,WACxB,IAAM/E,EAAOH,KAAKmF,SAClBhF,EAAKa,oBAAsBhB,KAAKoF,gBAChCjF,EAAKkF,SAASC,cAAc,mBAAmBC,YAAYvF,KAAK+E,QAMlEtE,EAAQE,UAAU6E,KAAO,WACvBtE,OAAOC,KAAKsE,MAAMC,QAAQ1F,KAAKmF,SAAU,eAG3C1E,EAAQE,UAAUgF,SAAW,WAC3B3F,KAAK+E,MAAMa,WAAWC,YAAY7F,KAAK+E,OACvC/E,KAAK+E,MAAQ,MAGftE,EAAQE,UAAUmF,UAAY,SAASC,GACrC/F,KAAK+E,MAAMiB,MAAMD,OAASA,GAG5BtF,EAAQE,UAAUsF,UAAY,WAC5B,OAAOjG,KAAK+E,MAAMiB,MAAMD,QAGnBtF,CACX,CAnIyByF,GACjB9B,EACF,MAAM,IAAIU,MAAM,4CAElB,IAAI3E,EAAOqE,EAAUvC,eACrB,IAAK9B,EAAM,CAET,IAAMgG,EAAY,0BACdC,EAAW/B,EAAKiB,cAAc,IAAMa,GACpCC,IAGFzB,EAAaqB,MAAMK,KAAO,IAC1B1B,EAAaqB,MAAMM,IAAM,IACzBjC,EAAKwB,YAAYO,KAEnBA,EAAWG,SAASC,cAAc,QACzBL,UAAYA,EACrBC,EAASJ,MAAMS,QAAU,kDACzBpC,EAAKkB,YAAYa,GAEjB,IAAMM,EAAUnH,EAAAA,KAAOoH,MAAMnC,EAAUoC,OACjCC,EAAqBH,EAAQG,mBAEnCtH,EAAAA,KAAOuH,KAAKlG,GAAiB,SAASmG,UAC7BL,EAAQK,EACjB,IACA,IAAMrF,EAASgF,EAAQhF,OAEnBnC,EAAMuE,KAACkD,QAAQtF,KACjBgF,EAAQhF,OAAS,CACfiB,IAAKjB,EAAO,GACZkB,IAAKlB,EAAO,KAIhBvB,EAAO,IAAIe,OAAOC,KAAK0D,IAAIuB,EAAUM,GACrClC,EAAUxC,aAAa7B,GAEvBqE,EAAUyC,4BAA8BzC,EAAUyC,2BAA2BC,SAC7E1C,EAAUyC,2BAA6B/F,OAAOC,KAAKsE,MAAM0B,YAAYhH,EAAM,sBACzE,WACE,IAAMiH,EAAQ5C,EAAU6C,kBACxBD,GAASA,EAAMpC,OAAO,MAEtB,IAAMsC,EAAU,IAAI7G,EAAQkE,EAAcxE,GAC1CmH,EAAQxB,UAAUe,GAClBrC,EAAU+C,gBAAgBD,EAC5B,IAIF7C,EAAQ+C,sBAAwB,WAC9B,MAAO,CAAEC,WAAY,EAAGC,UAAW,GAEvC,CAEA,IAAMhG,EAAS8C,EAAUoC,IAAI,UACvBe,EAAmB,CACT,MAAdjG,EAAOiB,IAAcjB,EAAOiB,IAAMjB,EAAO,GAC3B,MAAdA,EAAOkB,IAAclB,EAAOkB,IAAMlB,EAAO,IAErCH,EAAOiD,EAAUoC,IAAI,QAC3B,GAAIlF,GAAUH,EAAM,CAClB,IAAMqG,EAAazH,EAAK0H,YAClBC,EAAW3H,EAAK4H,UAEtB,GAD4BvD,EAAUwD,oBAAoB,CAACJ,EAAWjF,MAAOiF,EAAWhF,OAAQkF,GACvE,CACvB,IAAMvF,EAAK,IAAIrB,OAAOC,KAAKS,OAAO+F,EAAiB,GAAIA,EAAiB,IACxExH,EAAK8H,WAAW,CACdvG,OAAQa,EACRhB,KAAMA,GAEV,CACF,EAEA6C,EAAe,IAAIlE,EAAaC,EAAMC,IACzB0B,aAAa0C,EAAU0D,aAAe,CAAC,EAAG,IACvD9D,EAAa9C,QAAQC,GACrB6C,EAAa3C,UAAUkG,GAEvBnD,EAAU2D,iBAAmB/D,CAC/B,IAEAJ,EAAQoE,YAAW,SAASC,GACtBA,EAAYzB,IAAI,sBAAwBzH,IAC1CkJ,EAAYF,iBAAmB/D,EAEnC,IAGOA,GAAgB,CAACA,EAC1B,EA2DA1D,EAAkBJ,WAAaJ,EAAaI,WAAa,CAAC,MAAO,OAEjEI,EAAkB8C,KAAOrE,ECjRzB,IAAMmJ,EAAY,CAChB9E,KAAMrE,EAEN6C,aAAY,SAAC7B,GACXH,KAAKuI,OAASpI,CACf,EAED8B,aAAe,WAEb,OAAOjC,KAAKuI,MACb,EAEDhB,gBAAe,SAACH,GACdpH,KAAKwI,eAAiBpB,CACvB,EAEDC,gBAAkB,WAChB,OAAOrH,KAAKwI,cACb,EAEDC,iBAAiB/G,SAAAA,EAAQH,GACvBvB,KAAK0I,OAAOhH,OAASA,EACrB1B,KAAK0I,OAAOnH,KAAOA,CACpB,EAEDyG,oBAAoBtG,SAAAA,EAAQH,GAC1B,IFrBoBoH,EAAGC,EEqBjBF,EAAS1I,KAAK0I,OACpB,OFtBuBE,EEsBEF,EAAOhH,UFtBZiH,EEsBHjH,IFrBPkH,GAAKD,EAAE,KAAOC,EAAE,IAAMD,EAAE,KAAOC,EAAE,IEqBArH,IAASmH,EAAOnH,KAC5D,EAEDsH,cAAe,CACbnH,OAAQ,CAAEkB,IAAK,SAAUD,IAAK,YAC9BpB,KAAM,EAINuH,MAAM,EACNjC,mBAAoB,IACpBkC,gBAAgB,IAIL7J,EAAAA,EACX8J,EAAcA,eAACC,OAAOX,GACtBA,EC1CEY,EAAW,CACf1F,KAAMrE,EAENgK,gBAAO3E,EAAWR,EAAS5D,GACzB,IAAIgJ,GAAY,EAEVjJ,EAAOqE,EAAUvC,eACjB0C,EAAevE,EAAIsE,QAAQD,QAAQG,kBACnCrB,EAAWiB,EAAU2D,iBACrBkB,EAAWlJ,EAAKkF,SAChB0D,EAAiBvE,EAAUoC,IAAI,kBAC/B0C,EAAWD,EAASE,YACpBC,EAAYH,EAASI,aAE3BtJ,EAAK8H,WAAW,CACdyB,gBAAiBlF,EAAUoC,IAAI,QAAU,OAAS,SAGpD,IAAI+C,EAAgB,WAClB,IAAIP,EAAJ,CAOA,GAFcC,EAASE,cAETD,GADCD,EAASI,eACaD,EACnC,OAAOI,EAAcC,KAAK7J,MAG5B,IAAM+B,EAAY,EACf+H,SAAST,EAASrD,MAAMK,KAAM,KAAO,GACrCyD,SAAST,EAASrD,MAAMM,IAAK,KAAO,GAEvC3B,EAAaqB,MAAMK,KAAOtE,EAAU,GAAK,KACzC4C,EAAaqB,MAAMM,IAAMvE,EAAU,GAAK,KAExCwB,EAASzB,aAAaC,GACtByC,EAAU0D,YAAcnG,EAExB3B,EAAI2J,eAAe,CACjBvG,KAAMrE,WACN6K,UAAW,CAITC,SAAU,IAzBd,GA8BEL,EAAgB,WAClB,IAAMnG,EAAQ4F,EAASa,WAAWX,YAC5B7F,EAAS2F,EAASa,WAAWT,aACnCU,EAAAA,iBAAiB/J,EAAIkE,UAAU8F,OAAO,CAAE3G,MAAAA,EAAOC,OAAAA,KAGjD1D,KAAKqK,mBAAqBrK,KAAKqK,kBAAkBnD,SAE5C6B,IAEHY,EAAgBW,EAAAA,SAASX,EAAe,KAAK,GAC7CC,EAAgBU,EAAAA,SAASV,EAAe,KAAK,IAG/C5J,KAAKqK,kBAAoBnJ,OAAOC,KAAKsE,MAAM0B,YAAYhH,EAAM,aAAcwJ,GAE3EP,GAAY,CACb,EAEDmB,QAAU,WACRvK,KAAKqK,mBAAqBrK,KAAKqK,kBAAkBnD,SACjDlH,KAAKqK,kBAAoB,KAEzB,IAAMG,EAAYxK,KAAKyK,QACvB,GAAKD,EAAL,CAIA,IAAME,EAAeF,EAAUvI,eAE/B,GAAIyI,EAAc,QAETA,EAAa1J,oBAGpBE,OAAOC,KAAKsE,MAAMkF,uBAAuBD,GAGzC,IAAME,EAASF,EAAarF,SAC5BuF,EAAOhF,YAAcgF,EAAOhF,WAAWC,YAAY+E,EACrD,CAEAJ,EAAUxI,aAAa,MACvBwI,EAAUjD,gBAAgB,MAEtBiD,EAAUrC,mBACZqC,EAAUrC,iBAAiBnG,aAAa,MACxCwI,EAAUrC,iBAAmB,KArB/B,CAuBF,GAGajJ,EAAAA,EACX2L,EAAaA,cAAC5B,OAAOC,GACrBA,EC3FI,SAAS4B,EAAQC,KAElB7L,GAAwB,GAAZH,EAAM,IAAWA,EAAM,GAAK,IAC3CgM,EAAUC,gBAAe,SAAShH,GAChCA,EAAQiH,iBAAiB,OAAO,SAAU5C,GACxC,IAAM9E,EAAW8E,EAAYF,iBACvBjG,EAAOmG,EAAY6C,UACnBC,EAAWjJ,EAAKkJ,aAAa,SACnC,GAAI7H,GAAYA,EAASC,OAASrE,EAAgB,CAChD,IAAMuC,EAAS2G,EAAYzB,IAAI,UACzByE,EAAQ9H,EAAStD,YAAYyB,GAC7B4J,EAAKD,EAAM,GACXE,EAAKF,EAAM,GACjBnJ,EAAK4E,KAAKqE,GAAU,SAAUjH,EAAOsH,GACnC,IAAMC,EAASvJ,EAAKwJ,cAAcF,GAClCC,EAAOH,GAAKA,EACZG,EAAOF,GAAKA,CACd,GACF,CACF,GACF,IAGFrM,EACI6L,EAAUY,uBAAuBrD,GACjCyC,EAAUa,qBAAqBtD,GAEnCpJ,EACI6L,EAAUc,sBAAsB3C,GAChC6B,EAAUe,oBAAoB5C,GAElC6B,EAAUgB,yBAAyB5M,EAAgBe,GAEnD6K,EAAUiB,eACR,CACExI,KAAMrE,WACNsG,MAAOtG,WACP8M,OAAQ,iBAEV,SAASC,EAASlI,GAChBA,EAAQO,cAAcpF,GAAgB,SAASqF,GAC7C,IAAMrE,EAAOqE,EAAUvC,eACjBP,EAASvB,EAAK0H,YACpBrD,EAAUiE,iBAAiB,CAAC/G,EAAOiB,MAAOjB,EAAOkB,OAAQzC,EAAK4H,UAChE,GACF,GAEJ,CC9DA7I,EAAUiN,EAAQC,IAAItB,GAAWA,EAAQqB"} \ No newline at end of file +{"version":3,"file":"echarts-extension-gmap.min.js","sources":["../src/helper.js","../src/GMapCoordSys.js","../src/GMapModel.js","../src/GMapView.js","../src/index.js","../index.js"],"sourcesContent":["import { version } from 'echarts/lib/echarts'\n\nexport const ecVer = version.split('.')\n\nexport const isNewEC = ecVer[0] > 4\n\nexport const COMPONENT_TYPE = 'gmap'\n\nexport function v2Equal(a, b) {\n return a && b && a[0] === b[0] && a[1] === b[1]\n}\n","/* global google */\n\nimport { util as zrUtil, graphic, matrix } from 'echarts/lib/echarts'\nimport { COMPONENT_TYPE } from './helper'\n\nfunction dataToCoordSize(dataSize, dataItem) {\n dataItem = dataItem || [0, 0]\n return zrUtil.map(\n [0, 1],\n function(dimIdx) {\n const val = dataItem[dimIdx]\n const halfSize = dataSize[dimIdx] / 2\n const p1 = []\n const p2 = []\n p1[dimIdx] = val - halfSize\n p2[dimIdx] = val + halfSize\n p1[1 - dimIdx] = p2[1 - dimIdx] = dataItem[1 - dimIdx]\n return Math.abs(\n this.dataToPoint(p1)[dimIdx] - this.dataToPoint(p2)[dimIdx]\n )\n },\n this\n )\n}\n\nfunction GMapCoordSys(gmap, api) {\n this._gmap = gmap\n this.dimensions = ['lng', 'lat']\n this._mapOffset = [0, 0]\n this._api = api\n}\n\nconst GMapCoordSysProto = GMapCoordSys.prototype\n\n// exclude private and unsupported options\nconst excludedOptions = [\n 'echartsLayerZIndex',\n 'renderOnMoving'\n]\n\nGMapCoordSysProto.setZoom = function(zoom) {\n this._zoom = zoom\n}\n\nGMapCoordSysProto.setCenter = function(center) {\n const latlng = new google.maps.LatLng(center[1], center[0])\n this._center = latLngToPixel(latlng, this._gmap)\n}\n\nGMapCoordSysProto.setMapOffset = function(mapOffset) {\n this._mapOffset = mapOffset\n}\n\nGMapCoordSysProto.setGoogleMap = function(gmap) {\n this._gmap = gmap\n}\n\nGMapCoordSysProto.getGoogleMap = function() {\n return this._gmap\n}\n\nGMapCoordSysProto.dataToPoint = function(data) {\n const latlng = new google.maps.LatLng(data[1], data[0])\n const px = latLngToPixel(latlng, this._gmap)\n const mapOffset = this._mapOffset\n return [px.x - mapOffset[0], px.y - mapOffset[1]]\n}\n\nGMapCoordSysProto.pointToData = function(pt) {\n const mapOffset = this._mapOffset\n const latlng = pixelToLatLng(\n new google.maps.Point(pt[0] + mapOffset[0], pt[1] + mapOffset[1]),\n this._gmap\n )\n return [latlng.lng(), latlng.lat()]\n}\n\nGMapCoordSysProto.getViewRect = function() {\n const api = this._api\n return new graphic.BoundingRect(0, 0, api.getWidth(), api.getHeight())\n}\n\nGMapCoordSysProto.getRoamTransform = function() {\n return matrix.create()\n}\n\nGMapCoordSysProto.prepareCustoms = function() {\n const rect = this.getViewRect()\n return {\n coordSys: {\n type: COMPONENT_TYPE,\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height\n },\n api: {\n coord: zrUtil.bind(this.dataToPoint, this),\n size: zrUtil.bind(dataToCoordSize, this)\n }\n }\n}\n\nGMapCoordSysProto.convertToPixel = function(ecModel, finder, value) {\n // here we don't use finder as only one google map component is allowed\n return this.dataToPoint(value);\n}\n\nGMapCoordSysProto.convertFromPixel = function(ecModel, finder, value) {\n // here we don't use finder as only one google map component is allowed\n return this.pointToData(value);\n}\n\nGMapCoordSys.create = function(ecModel, api) {\n let gmapCoordSys\n const root = api.getDom()\n\n ecModel.eachComponent(COMPONENT_TYPE, function(gmapModel) {\n const painter = api.getZr().painter\n const viewportRoot = painter.getViewportRoot()\n if (typeof google === 'undefined' || !google.maps || !google.maps.Map) {\n throw new Error('Google Map API is not loaded')\n }\n Overlay = Overlay || createOverlayCtor()\n if (gmapCoordSys) {\n throw new Error('Only one google map component is allowed')\n }\n let gmap = gmapModel.getGoogleMap()\n if (!gmap) {\n // Not support IE8\n const className = 'ec-extension-google-map'\n let gmapRoot = root.querySelector('.' + className)\n if (gmapRoot) {\n // Reset viewport left and top, which will be changed\n // in moving handler in GMapView\n viewportRoot.style.left = '0'\n viewportRoot.style.top = '0'\n root.removeChild(gmapRoot)\n }\n gmapRoot = document.createElement('div')\n gmapRoot.className = className\n gmapRoot.style.cssText = 'position:absolute;top:0;left:0;right:0;bottom:0'\n root.appendChild(gmapRoot)\n\n const options = zrUtil.clone(gmapModel.get())\n const echartsLayerZIndex = options.echartsLayerZIndex\n // delete excluded options\n zrUtil.each(excludedOptions, function(key) {\n delete options[key]\n })\n const center = options.center\n // normalize center\n if (zrUtil.isArray(center)) {\n options.center = {\n lng: center[0],\n lat: center[1]\n }\n }\n\n gmap = new google.maps.Map(gmapRoot, options)\n gmapModel.setGoogleMap(gmap)\n\n gmapModel.__projectionChangeListener && gmapModel.__projectionChangeListener.remove()\n gmapModel.__projectionChangeListener = google.maps.event.addListener(gmap, 'projection_changed',\n function() {\n const layer = gmapModel.getEChartsLayer()\n layer && layer.setMap(null)\n\n const overlay = new Overlay(viewportRoot, gmap)\n overlay.setZIndex(echartsLayerZIndex)\n gmapModel.setEChartsLayer(overlay)\n }\n )\n\n // Override\n painter.getViewportRootOffset = function() {\n return { offsetLeft: 0, offsetTop: 0 }\n }\n }\n\n const center = gmapModel.get('center')\n const normalizedCenter = [\n center.lng != null ? center.lng : center[0],\n center.lat != null ? center.lat : center[1]\n ]\n const zoom = gmapModel.get('zoom')\n if (center && zoom) {\n const gmapCenter = gmap.getCenter()\n const gmapZoom = gmap.getZoom()\n const centerOrZoomChanged = gmapModel.centerOrZoomChanged([gmapCenter.lng(), gmapCenter.lat()], gmapZoom)\n if (centerOrZoomChanged) {\n const pt = new google.maps.LatLng(normalizedCenter[1], normalizedCenter[0])\n gmap.setOptions({\n center: pt,\n zoom: zoom\n })\n }\n }\n\n gmapCoordSys = new GMapCoordSys(gmap, api)\n gmapCoordSys.setMapOffset(gmapModel.__mapOffset || [0, 0])\n gmapCoordSys.setZoom(zoom)\n gmapCoordSys.setCenter(normalizedCenter)\n\n gmapModel.coordinateSystem = gmapCoordSys\n })\n\n ecModel.eachSeries(function(seriesModel) {\n if (seriesModel.get('coordinateSystem') === COMPONENT_TYPE) {\n seriesModel.coordinateSystem = gmapCoordSys\n }\n })\n\n // return created coordinate systems\n return gmapCoordSys && [gmapCoordSys]\n}\n\nlet Overlay\n\nfunction createOverlayCtor() {\n function Overlay(root, gmap) {\n this._root = root\n this.setMap(gmap)\n }\n\n Overlay.prototype = new google.maps.OverlayView()\n\n Overlay.prototype.onAdd = function() {\n const gmap = this.getMap()\n gmap.__overlayProjection = this.getProjection()\n gmap.getDiv().querySelector('.gm-style > div').appendChild(this._root)\n }\n\n /**\n * @override\n */\n Overlay.prototype.draw = function() {\n google.maps.event.trigger(this.getMap(), 'gmaprender')\n }\n\n Overlay.prototype.onRemove = function() {\n this._root.parentNode.removeChild(this._root)\n this._root = null\n }\n\n Overlay.prototype.setZIndex = function(zIndex) {\n this._root.style.zIndex = zIndex\n }\n\n Overlay.prototype.getZIndex = function() {\n return this._root.style.zIndex\n }\n\n return Overlay\n}\n\nfunction latLngToPixel(latLng, map) {\n const projection = map.__overlayProjection\n if (!projection) {\n return new google.maps.Point(-Infinity, -Infinity)\n }\n\n return projection.fromLatLngToContainerPixel(latLng)\n}\n\nfunction pixelToLatLng(pixel, map) {\n const projection = map.__overlayProjection\n if (!projection) {\n return new google.maps.Point(-Infinity, -Infinity)\n }\n\n return projection.fromContainerPixelToLatLng(pixel)\n}\n\nGMapCoordSysProto.dimensions = GMapCoordSys.dimensions = ['lng', 'lat']\n\nGMapCoordSysProto.type = COMPONENT_TYPE\n\nexport default GMapCoordSys\n","import { ComponentModel } from 'echarts/lib/echarts'\nimport { COMPONENT_TYPE, isNewEC, v2Equal } from './helper'\n\nconst GMapModel = {\n type: COMPONENT_TYPE,\n\n setGoogleMap(gmap) {\n this.__gmap = gmap\n },\n\n getGoogleMap() {\n // __gmap is set when creating GMapCoordSys\n return this.__gmap\n },\n\n setEChartsLayer(layer) {\n this.__echartsLayer = layer\n },\n\n getEChartsLayer() {\n return this.__echartsLayer\n },\n\n setCenterAndZoom(center, zoom) {\n this.option.center = center\n this.option.zoom = zoom\n },\n\n centerOrZoomChanged(center, zoom) {\n const option = this.option\n return !(v2Equal(center, option.center) && zoom === option.zoom)\n },\n\n defaultOption: {\n center: { lat: 39.90923, lng: 116.397428 },\n zoom: 5,\n\n // extension options\n // since v1.4.0\n roam: true,\n echartsLayerZIndex: 2000,\n renderOnMoving: true\n }\n}\n\nexport default isNewEC\n ? ComponentModel.extend(GMapModel)\n : GMapModel\n","/* global google */\n\nimport { ComponentView, getInstanceByDom, throttle } from 'echarts/lib/echarts'\nimport { isNewEC, COMPONENT_TYPE } from './helper'\n\nconst GMapView = {\n type: COMPONENT_TYPE,\n\n render(gmapModel, ecModel, api) {\n let rendering = true\n\n const gmap = gmapModel.getGoogleMap()\n const viewportRoot = api.getZr().painter.getViewportRoot()\n const coordSys = gmapModel.coordinateSystem\n const renderOnMoving = gmapModel.get('renderOnMoving')\n const offsetEl = gmap.getDiv()\n const mapEl = offsetEl.firstChild\n const oldWidth = mapEl.clientWidth\n const oldHeight = mapEl.clientHeight\n\n let renderHandler = function() {\n if (rendering) {\n return\n }\n\n // reduce unnecessary resize\n if (mapEl.clientWidth !== oldWidth || mapEl.clientHeight !== oldHeight) {\n return resizeHandler()\n }\n\n const mapOffset = [\n -parseInt(offsetEl.style.left, 10) || 0,\n -parseInt(offsetEl.style.top, 10) || 0\n ]\n viewportRoot.style.left = mapOffset[0] + 'px'\n viewportRoot.style.top = mapOffset[1] + 'px'\n\n coordSys.setMapOffset(mapOffset)\n gmapModel.__mapOffset = mapOffset\n\n api.dispatchAction({\n type: COMPONENT_TYPE + 'Roam',\n animation: {\n // in ECharts 5.x,\n // we can set animation duration as 0\n // to ensure no delay when moving or zooming\n duration: 0\n }\n })\n }\n\n let resizeHandler = function() {\n // fix chart can't get resized correctly after the google map enters fullscreen\n // See also #14\n getInstanceByDom(api.getDom()).resize({\n width: mapEl.clientWidth,\n height: mapEl.clientHeight\n })\n }\n\n this._renderHandler && this._renderHandler.remove()\n\n if (!renderOnMoving) {\n // PENDING hide layer when rendering\n renderHandler = throttle(renderHandler, 100, true)\n resizeHandler = throttle(resizeHandler, 100, true)\n }\n this._renderHandler = google.maps.event.addListener(\n gmap,\n renderOnMoving ? 'gmaprender' : 'idle',\n renderHandler\n )\n\n gmap.setOptions({\n gestureHandling: gmapModel.get('roam') ? 'auto' : 'none'\n })\n\n rendering = false\n },\n\n dispose() {\n this._renderHandler && this._renderHandler.remove()\n delete this._renderHandler\n\n const component = this.__model\n if (!component) {\n return\n }\n\n const gmapInstance = component.getGoogleMap()\n\n if (gmapInstance) {\n // remove injected projection\n delete gmapInstance.__overlayProjection\n\n // clear all listeners of map instance\n google.maps.event.clearInstanceListeners(gmapInstance)\n\n // remove DOM of map instance\n const mapDiv = gmapInstance.getDiv()\n mapDiv.parentNode && mapDiv.parentNode.removeChild(mapDiv)\n }\n\n component.setGoogleMap(null)\n component.setEChartsLayer(null)\n\n if (component.coordinateSystem) {\n component.coordinateSystem.setGoogleMap(null)\n component.coordinateSystem = null\n }\n }\n}\n\nexport default isNewEC\n ? ComponentView.extend(GMapView)\n : GMapView\n","/**\n * Google Map component extension\n */\n\n import GMapCoordSys from './GMapCoordSys'\n import GMapModel from './GMapModel'\n import GMapView from './GMapView'\n import { isNewEC, ecVer, COMPONENT_TYPE } from './helper'\n\nexport { version, name } from '../package.json';\n\n/**\n * @typedef {import('../export').EChartsExtensionRegisters} EChartsExtensionRegisters\n */\n\n/**\n * Google Map extension installer\n * @param {EChartsExtensionRegisters} registers\n */\n export function install(registers) {\n // add coordinate system support for pie series for ECharts < 5.4.0\n if (!isNewEC || (ecVer[0] == 5 && ecVer[1] < 4)) {\n registers.registerLayout(function(ecModel) {\n ecModel.eachSeriesByType('pie', function (seriesModel) {\n const coordSys = seriesModel.coordinateSystem\n const data = seriesModel.getData()\n const valueDim = data.mapDimension('value')\n if (coordSys && coordSys.type === COMPONENT_TYPE) {\n const center = seriesModel.get('center')\n const point = coordSys.dataToPoint(center)\n const cx = point[0]\n const cy = point[1]\n data.each(valueDim, function (value, idx) {\n const layout = data.getItemLayout(idx)\n layout.cx = cx\n layout.cy = cy\n })\n }\n })\n })\n }\n // Model\n isNewEC\n ? registers.registerComponentModel(GMapModel)\n : registers.extendComponentModel(GMapModel)\n // View\n isNewEC\n ? registers.registerComponentView(GMapView)\n : registers.extendComponentView(GMapView)\n // Coordinate System\n registers.registerCoordinateSystem(COMPONENT_TYPE, GMapCoordSys)\n // Action\n registers.registerAction(\n {\n type: COMPONENT_TYPE + 'Roam',\n event: COMPONENT_TYPE + 'Roam',\n update: 'updateLayout'\n },\n function(payload, ecModel) {\n ecModel.eachComponent(COMPONENT_TYPE, function(gmapModel) {\n const gmap = gmapModel.getGoogleMap()\n const center = gmap.getCenter()\n gmapModel.setCenterAndZoom([center.lng(), center.lat()], gmap.getZoom())\n })\n }\n )\n}\n","import * as echarts from 'echarts/lib/echarts'\nimport { install } from './src/index'\nimport { isNewEC } from './src/helper'\n\nisNewEC ? echarts.use(install) : install(echarts)\n\nexport { name, version } from './src/index'\n"],"names":["ecVer","version","split","isNewEC","COMPONENT_TYPE","dataToCoordSize","dataSize","dataItem","zrUtil","map","dimIdx","val","halfSize","p1","p2","Math","abs","this","dataToPoint","GMapCoordSys","gmap","api","_gmap","dimensions","_mapOffset","_api","Overlay","GMapCoordSysProto","prototype","excludedOptions","latLngToPixel","latLng","projection","__overlayProjection","fromLatLngToContainerPixel","google","maps","Point","Infinity","setZoom","zoom","_zoom","setCenter","center","latlng","LatLng","_center","setMapOffset","mapOffset","setGoogleMap","getGoogleMap","data","px","x","y","pointToData","pt","pixel","fromContainerPixelToLatLng","pixelToLatLng","lng","lat","getViewRect","graphic","BoundingRect","getWidth","getHeight","getRoamTransform","matrix","create","prepareCustoms","rect","coordSys","type","width","height","coord","bind","size","util","convertToPixel","ecModel","finder","value","convertFromPixel","gmapCoordSys","root","getDom","eachComponent","gmapModel","painter","getZr","viewportRoot","getViewportRoot","Map","Error","_root","setMap","OverlayView","onAdd","getMap","getProjection","getDiv","querySelector","appendChild","draw","event","trigger","onRemove","parentNode","removeChild","setZIndex","zIndex","style","getZIndex","createOverlayCtor","className","gmapRoot","left","top","document","createElement","cssText","options","clone","get","echartsLayerZIndex","each","key","isArray","__projectionChangeListener","remove","addListener","layer","getEChartsLayer","overlay","setEChartsLayer","getViewportRootOffset","offsetLeft","offsetTop","normalizedCenter","gmapCenter","getCenter","gmapZoom","getZoom","centerOrZoomChanged","setOptions","__mapOffset","coordinateSystem","eachSeries","seriesModel","GMapModel","__gmap","__echartsLayer","setCenterAndZoom","option","a","b","defaultOption","roam","renderOnMoving","ComponentModel","extend","GMapView","render","rendering","offsetEl","mapEl","firstChild","oldWidth","clientWidth","oldHeight","clientHeight","renderHandler","resizeHandler","parseInt","dispatchAction","animation","duration","getInstanceByDom","resize","_renderHandler","throttle","gestureHandling","dispose","component","__model","gmapInstance","clearInstanceListeners","mapDiv","ComponentView","install","registers","registerLayout","eachSeriesByType","getData","valueDim","mapDimension","point","cx","cy","idx","layout","getItemLayout","registerComponentModel","extendComponentModel","registerComponentView","extendComponentView","registerCoordinateSystem","registerAction","update","payload","echarts","use"],"mappings":"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"} \ No newline at end of file diff --git a/examples/heatmap.html b/examples/heatmap.html index 33d1174..97e68f2 100644 --- a/examples/heatmap.html +++ b/examples/heatmap.html @@ -13,7 +13,7 @@ - +