{"version":3,"sources":["jsdelivr-header.js","/npm/@finclip/ide-sdk-map@1.8.23-idesdk.5/preload/map.js"],"names":[],"mappings":"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","file":"/npm/@finclip/ide-sdk-map@1.8.23-idesdk.5/preload/map.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@finclip/ide-sdk-map@1.8.23-idesdk.5/preload/map.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar debounce = require('lodash.debounce');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce);\n\nconst defaultConfig = {\n  mapWEBKey: '6c0d60fc70e3069e8e7e7cc8c496a00f',\n  mapJSAPIKey: 'f5eb5795a4ae8d4239e5e573eb2f0eaa',\n};\n\nlet mapConfig = { ...defaultConfig };\n\nconst setMapConfig = (confing) => {\n  mapConfig = {\n    ...mapConfig,\n    ...confing,\n  };\n};\n\nconst setServiceHost = (serviceHost) => {\n  if (serviceHost) {\n    window._AMapSecurityConfig = { serviceHost };\n  } else if (window._AMapSecurityConfig) {\n    delete window._AMapSecurityConfig.serviceHost;\n  }\n};\n\nconst getMapConfig = () => mapConfig;\n\nfunction createInfoWindowContent (content, {\n  color = '#000000',\n  fontSize = 14,\n  borderRadius = 3,\n  borderWidth = 1,\n  borderColor = '#000000',\n  bgColor = '#ffffff',\n  padding = 10,\n  textAlign = 'center',\n  anchorX = 0,\n  anchorY = 0\n}, mapInstance) {\n  const root = document.createElement('div');\n  const close = document.createElement('div');\n  root.style.color = color;\n  root.style['font-size'] = fontSize + 'px';\n  root.style.position = 'relative';\n  root.style.border = '1px solid #eeeeee';\n  root.style.borderRadius = borderRadius + 'px';\n  root.style['border-width'] = borderWidth + 'px';\n  root.style['border-color'] = borderColor;\n  root.style['background-color'] = bgColor;\n  root.style.padding = padding + 'px';\n  root.style['text-align'] = textAlign;\n  root.style.top = anchorY + 'px';\n  root.style.left = anchorX + 'px';\n  close.innerText = '+';\n  close.style.transform = 'rotate(45deg)';\n  close.style.position = 'absolute';\n  close.style.top = '0';\n  close.style.right = '0';\n  close.style['font-size'] = '20px';\n  close.style.width = '15px';\n  close.style.height = '15px';\n  close.style['line-height'] = '15px';\n  root.appendChild(close);\n  root.appendChild(document.createTextNode(content));\n  close.onclick = () => {\n    mapInstance.clearInfoWindow();\n  };\n  return root\n}\n\nclass MapInstance {\n  constructor (event, params, callbackId, invokeCallback, emitCustomEvent, jsBridge) {\n    this.mapdata = Object.assign(params, (params.setting || {}));\n    this.markersInstence = {};\n    this.initCenterOffset = [];\n    this.initRegonData = {};\n    this.makerCluster = null;\n    this.invokeCallback = invokeCallback;\n    this.emitCustomEvent = emitCustomEvent;\n    this.FinChatJSBridge = jsBridge;\n    this.prepareLoader();\n    this.loadScript(event, callbackId);\n  }\n\n  \n  prepareLoader() {\n    const { serviceHost } = getMapConfig();\n    setServiceHost(serviceHost);\n  }\n\n  loadScript(event, callbackId) {\n    let script; \n    if(!document.querySelector('#amap-loader')) {\n      script = document.createElement(\"script\");\n      script.type = \"text/javascript\";\n      script.src = \"https://webapi.amap.com/loader.js\";\n      document.body.appendChild(script);\n      script.setAttribute(\"id\", 'amap-loader');\n      script.onload = () => {\n        this.amapload (event, callbackId);\n      };\n    } else {\n      setTimeout(() => {\n        this.amapload(event, callbackId);\n      }, 500);\n    }\n  }\n  amapload(event, callbackId) {\n    const { mapJSAPIKey } = getMapConfig();\n    AMapLoader.load({\n      key: mapJSAPIKey\n    }).then((AMap) => {\n      this.mapInit(AMap);\n      this.invokeCallback('ok', event, callbackId, {});\n    }).catch(e => {\n      throw new Error(e)\n    });\n  }\n\n  mapInit (AMap) {\n    this.mapConstructor = AMap;\n    const {\n      cid,\n      scale,\n      minScale,\n      maxScale,\n      longitude,\n      latitude,\n      skew,\n      enable3D,\n      showScale,\n      enableZoom,\n      enableScroll,\n      enableRotate,\n      enableSatellite,\n      enableTraffic\n    } = this.mapdata;\n    const inner = document.querySelectorAll(`[nativeid=\"${cid}\"]`);\n    this.inner = inner[0];\n    this.mapInstance = new AMap.Map(inner[0], {\n      zoom: scale,\n      zooms: [minScale || 3, maxScale || 20],\n      center: [longitude, latitude],\n      pitch: skew,\n      showBuildingBlock: enable3D,\n      zoomEnable: enableZoom,\n      scrollWheel: enableScroll,\n      rotateEnable: enableRotate,\n      dragEnable: true,\n      viewMode: '3D',\n      expandZoomRange: true\n    });\n    this.addEvent(AMap);\n    this.initInfoWindow(AMap);\n    this.initAttr();\n    this.initLayer(AMap, enableSatellite, enableTraffic);\n    this.initPlugins(AMap, showScale);\n  }\n\n  addEvent (AMap) {\n    AMap.event.addListener(this.mapInstance, 'click', debounce__default[\"default\"]((e) => {\n      const longitude = e.lnglat.getLng();\n      const latitude = e.lnglat.getLat();\n      this.emitCustomEvent({\n        event: 'custom_event_onMapTask',\n        params: {\n          eventName: 'tap',\n          mapId: this.mapdata.mapId,\n          longitude,\n          latitude\n        }\n      });\n    }, 100));\n\n    AMap.event.addListener(this.mapInstance, 'movestart', (e) => {\n      const changekey = ['longitude', 'latitude', 'moveToLocation'].find(key => this[`${key}ChangeFlag`]);\n      if (changekey) {\n        this.emitCustomEvent({\n          event: 'custom_event_onMapTask',\n          params: {\n            eventName: 'regionchange',\n            mapId: this.mapdata.mapId,\n            causedBy: 'update',\n            type: 'begin'\n          }\n        });\n      }\n    });\n    AMap.event.addListener(this.mapInstance, 'moveend', (e) => {\n      const changekey = ['longitude', 'latitude', 'moveToLocation'].find(key => this[`${key}ChangeFlag`]);\n      if (changekey) {\n        const mapdata = this.getMapRegonData();\n        this[`${changekey}ChangeFlag`] = false;\n        this.emitCustomEvent({\n          event: 'custom_event_onMapTask',\n          params: {\n            eventName: 'regionchange',\n            mapId: this.mapdata.mapId,\n            causedBy: 'update',\n            type: 'end',\n            ...mapdata\n          }\n        });\n      }\n    });\n    AMap.event.addListener(this.mapInstance, 'zoomstart', (e) => {\n      this.emitCustomEvent({\n        event: 'custom_event_onMapTask',\n        params: {\n          eventName: 'regionchange',\n          mapId: this.mapdata.mapId,\n          causedBy: e.target ? 'gesture' : 'update',\n          type: 'begin'\n        }\n      });\n    });\n    AMap.event.addListener(this.mapInstance, 'zoomend', (e) => {\n      const mapdata = this.getMapRegonData();\n      this.initRegonData = mapdata.region;\n      this.emitCustomEvent({\n        event: 'custom_event_onMapTask',\n        params: {\n          eventName: 'regionchange',\n          mapId: this.mapdata.mapId,\n          causedBy: e.target ? 'scroll' : 'update',\n          type: 'end',\n          ...mapdata\n        }\n      });\n    });\n    AMap.event.addListener(this.mapInstance, 'dragstart', (e) => {\n      this.emitCustomEvent({\n        event: 'custom_event_onMapTask',\n        params: {\n          eventName: 'regionchange',\n          mapId: this.mapdata.mapId,\n          causedBy: 'gesture',\n          type: 'begin'\n        }\n      });\n    });\n    AMap.event.addListener(this.mapInstance, 'dragend', (e) => {\n      const mapdata = this.getMapRegonData();\n      this.initRegonData = mapdata.region;\n      this.emitCustomEvent({\n        event: 'custom_event_onMapTask',\n        params: {\n          eventName: 'regionchange',\n          mapId: this.mapdata.mapId,\n          causedBy: 'drag',\n          type: 'end',\n          ...mapdata\n        }\n      });\n    });\n  }\n\n  initInfoWindow (AMap) {\n    this.infoWindow = new AMap.InfoWindow({\n      isCustom: true,\n      offset: new AMap.Pixel(0, -30)\n    });\n  }\n\n  initAttr () {\n    this.markersChanged(this.mapdata.markers);\n    this.polylineChanged(this.mapdata.polyline);\n    this.circlesChanged(this.mapdata.circles);\n    this.controlsChanged(this.mapdata.controls);\n    this.polygonsChanged(this.mapdata.polygons);\n    this.rotateChanged(this.mapdata.rotate);\n    this.enablePoiChanged(this.mapdata.enablePoiChanged);\n    this.initRegonData = this.getMapRegonData().region;\n  }\n\n  markersChanged (markers = [], clear) {\n    if (clear) {\n      this._removeMarkers(Object.keys(this.markersInstence));\n    }\n    markers.forEach(item => {\n      const position = new this.mapConstructor.LngLat(item.longitude, item.latitude);\n      const marker = new this.mapConstructor.Marker({\n        position,\n        anchor: 'bottom-center',\n        offset: new this.mapConstructor.Pixel(0, 0),\n        label: {\n          content: item.label && item.label.content,\n          direction: 'bottom'\n        },\n        icon: (item.iconPath && new this.mapConstructor.Icon({\n          image: item.iconPath,\n          size: new this.mapConstructor.Size(item.width || 36, item.height || 36),\n          imageSize: new this.mapConstructor.Size(item.width || 36, item.height || 36)\n        }))\n      });\n      marker.id = item.id || new Date().getTime();\n      marker.id in this.markersInstence && (this._removeMarkers([marker.id]));\n      marker.joinCluster = item.joinCluster || false;\n      const markerlistener = this.mapConstructor.event.addListener(marker, 'click', debounce__default[\"default\"]((event) => {\n        this.emitCustomEvent({\n          event: 'custom_event_onMapTask',\n          params: {\n            eventName: 'markertap',\n            mapId: this.mapdata.mapId,\n            markerId: marker.id\n          }\n        });\n        let popp;\n        if (item.callout) {\n          popp = createInfoWindowContent(item.callout.content, item.callout, this.mapInstance);\n        } else if (item.title) {\n          popp = createInfoWindowContent(item.title, {}, this.mapInstance);\n        }\n        if (popp) {\n          this.infoWindow.setContent(popp);\n          this.infoWindow.open(this.mapInstance, position);\n        }\n      }, 100));\n      marker.markerlistener = markerlistener;\n      if (marker.joinCluster) {\n        this.makerCluster && this.makerCluster.addMarker(marker);        \n      }\n\n      this.mapInstance.add(marker);\n      this.markersInstence[marker.id] = marker;\n    });\n  }\n\n  _removeMarkers (markerIds) {\n    markerIds.forEach(mid => {\n      const marker = this.markersInstence[mid];\n      if (marker) {\n        this.mapConstructor.event.removeListener(marker.markerlistener);\n        this.mapInstance.remove(marker);\n        this.makerCluster.removeMarker(marker);\n        delete this.markersInstence[mid];\n      }\n    });\n  }\n\n  polylineChanged (val) {\n    (this.polylines || []).forEach(e => {\n      e.setMap(null);\n    });\n    if (val) {\n      this.polylines = val.map(line => {\n        const polyline = new this.mapConstructor.Polyline({\n          path: (line.points || []).map(e => [e.longitude, e.latitude]),\n          isOutline: line.borderWidth,\n          outlineColor: line.borderColor,\n          borderWeight: line.borderWidth,\n          strokeColor: line.color || '#000000',\n          strokeWeight: line.width || 1,\n          strokeStyle: line.dottedLine ? 'dashed' : 'solid',\n          strokeDasharray: [6, 4, 6]\n        });\n        polyline.setMap(this.mapInstance);\n        return polyline\n      });\n    }\n  }\n\n  circlesChanged (val) {\n    (this.circles || []).forEach(e => {\n      e.setMap(null);\n    });\n    if (val) {\n      this.circles = val.map(item => {\n        const circle = new this.mapConstructor.Circle({\n          center: [item.longitude, item.latitude],\n          radius: item.radius || 0,\n          strokeColor: item.color || '#000000',\n          strokeWeight: item.strokeWidth || 1,\n          fillColor: item.fillColor,\n        });\n        circle.setMap(this.mapInstance);\n        return circle\n      });\n    }\n  }\n\n  controlsChanged (val) {\n    (this.controls || []).forEach(e => {\n      this.inner.removeChild(e);\n    });\n    const controls = [];\n    val.forEach(e => {\n      if (e.iconPath) {\n        e.position = Object.assign({\n          top: 0, left: 0, width: 0, height: 0\n        }, (e.position || {}));\n        const div = document.createElement('div');\n        const img = document.createElement('img');\n        div.style = `position: absolute;z-index: 4;\n                    top: ${(e.position.top * 1) + 'px'};\n                    left: ${(e.position.left * 1) + 'px'};\n                    width: ${e.position.width ? (e.position.width + 'px') : 'auto'};\n                    height: ${e.position.height ? (e.position.height + 'px') : 'auto'};\n                    `;\n        img.src = e.iconPath;\n        img.style = 'width:100%;height:100%';\n        div.appendChild(img);\n        (e.clickable && e.id !== undefined) && div.addEventListener('click', () => {\n          this.emitCustomEvent({\n            event: 'custom_event_onMapTask',\n            params: {\n              eventName: 'controltap',\n              mapId: this.mapdata.mapId,\n              controlId: e.id\n            }\n          });\n        });\n        controls.push(div);\n        this.inner.appendChild(div);\n      }\n    });\n    this.controls = controls;\n  }\n\n  polygonsChanged (val) {\n    (this.polygons || []).forEach(e => {\n      e.setMap(null);\n    });\n    if (val) {\n      this.polygons = val.map(item => {\n        const polygon = new this.mapConstructor.Polygon({\n          path: item.points.map(e => [e.longitude, e.latitude]),\n          strokeColor: item.strokeColor || '#000000',\n          strokeWeight: item.strokeWidth || 1,\n          fillColor: item.fillColor,\n          zIndex: item.zIndex,\n        });\n        polygon.setMap(this.mapInstance);\n        return polygon\n      });\n    }\n  }\n\n  rotateChanged (val) {\n    this.emitCustomEvent({\n      event: 'custom_event_onMapTask',\n      params: {\n        eventName: 'regionchange',\n        mapId: this.mapdata.mapId,\n        causedBy: 'update',\n        type: 'begin'\n      }\n    });\n    this.mapdata.rotate = val;\n    this.mapInstance.setRotation(val);\n    const mapdata = this.getMapRegonData();\n    this.emitCustomEvent({\n      event: 'custom_event_onMapTask',\n      params: {\n        eventName: 'regionchange',\n        mapId: this.mapdata.mapId,\n        causedBy: 'update',\n        type: 'end',\n        ...mapdata\n      }\n    });\n  }\n\n  enablePoiChanged (val) {\n    this.mapdata.enablePoi = (val === undefined || val === true);\n    this.mapInstance.setFeatures(this.countFeatures());\n  }\n\n  countFeatures () {\n    const res = ['bg', 'road'];\n    this.mapdata.enablePoi && res.push('point');\n    this.mapdata.enableBuilding && res.push('building');\n    return res\n  }\n\n  initLayer (AMap, enableSatellite, enableTraffic) {\n    this.satelliteLayer = new AMap.TileLayer.Satellite();\n    enableSatellite && this.mapInstance.add(this.satelliteLayer);\n    this.trafficLayer = new AMap.TileLayer.Traffic();\n    enableTraffic && this.mapInstance.add(this.trafficLayer);\n  }\n  initPlugins (AMap, showScale) {\n    this.mapInstance.plugin(['AMap.Scale', 'AMap.MarkerClusterer'], () => {\n      this.scale = new AMap.Scale({\n        visible: false\n      });\n      \n      this.makerCluster = new AMap.MarkerClusterer(this.mapInstance, [], {\n        zoomOnClick: true,\n        gridSize: 60,\n        maxZoom: 15,\n        averageCenter: true\n      }); \n\n      this.mapInstance.addControl(this.scale);\n      if (showScale) {\n        this.scale.show();\n      } else {\n        this.scale.hide();\n      }\n    });\n  }\n\n  getMapRegonData () {\n    const center = this.mapInstance.getCenter();\n    const bounds = this.mapInstance.getBounds().bounds;\n    return {\n      centerLocation: {\n        latitude: center.getLat(),\n        longitude: center.getLng()\n      },\n      region: {\n        northwest: {\n          latitude: bounds[0].getLat(),\n          longitude: bounds[0].getLng()\n        },\n        northeast: {\n          latitude: bounds[1].getLat(),\n          longitude: bounds[1].getLng()\n        },\n        southeast: {\n          latitude: bounds[2].getLat(),\n          longitude: bounds[2].getLng()\n        },\n        southwest: {\n          latitude: bounds[3].getLat(),\n          longitude: bounds[3].getLng()\n        }\n      },\n      rotate: this.mapInstance.getRotation(),\n      scale: this.mapInstance.getZoom(),\n      skew: this.mapInstance.getPitch()\n    }\n  }\n\n  mapUpdate (params) {\n    if (!params) return\n    params = Object.assign(params, params.setting || {});\n    Object.keys(params).forEach(key => {\n      if (watchKeys.indexOf(key) > -1) {\n        this[`${key}Changed`](params[key]);\n      }\n    });\n  }\n\n  latitudeChanged (val) {\n    this.mapdata.latitude = val;\n    this.latitudeChangeFlag = true;\n    this.mapInstance.setCenter(new this.mapConstructor.LngLat(this.mapdata.longitude, this.mapdata.latitude));\n  }\n\n  longitudeChanged (val) {\n    this.mapdata.longitude = val;\n    this.longitudeChangeFlag = true;\n    this.mapInstance.setCenter(new this.mapConstructor.LngLat(this.mapdata.longitude, this.mapdata.latitude));\n  }\n\n  scaleChanged (val) {\n    if (val > this.mapdata.maxScale) {\n      val = this.mapdata.maxScale;\n    } else if (val < this.mapdata.minScale) {\n      val = this.mapdata.minScale;\n    }\n    this.mapdata.scale = val;\n    this.mapInstance.setZoom(val);\n  }\n\n  skewChanged (val) {\n    this.emitCustomEvent({\n      event: 'custom_event_onMapTask',\n      params: {\n        eventName: 'regionchange',\n        mapId: this.mapdata.mapId,\n        causedBy: 'update',\n        type: 'begin'\n      }\n    });\n    this.mapdata.skew = val;\n    this.mapInstance.setPitch(val);\n    const mapdata = this.getMapRegonData();\n    this.emitCustomEvent({\n      event: 'custom_event_onMapTask',\n      params: {\n        eventName: 'regionchange',\n        mapId: this.mapdata.mapId,\n        causedBy: 'update',\n        type: 'end',\n        ...mapdata\n      }\n    });\n  }\n\n  showCompassChanged (val) {\n    this.mapdata.showCompass = val;\n  }\n\n  showScaleChanged (val) {\n    this.mapdata.showScale = val;\n    if (val) {\n      this.scale.show();\n    } else {\n      this.scale.hide();\n    }\n  }\n\n  enableZoomChanged (val) {\n    this.mapdata.enableZoom = val;\n    this.mapInstance.setStatus({\n      zoomEnable: val\n    });\n  }\n\n  enableScrollChanged (val) {\n    this.mapdata.enableScroll = val;\n    this.mapInstance.setStatus({\n      dragEnable: val\n    });\n  }\n\n  enableRotateChanged (val) {\n    this.mapdata.enableRotate = val;\n    this.mapInstance.setStatus({\n      rotateEnable: val\n    });\n  }\n\n  enableSatelliteChanged (val) {\n    this.mapdata.enableSatellite = val;\n    if (val) {\n      this.mapInstance.add(this.satelliteLayer);\n    } else {\n      this.mapInstance.remove(this.satelliteLayer);\n    }\n  }\n\n  enableTrafficChanged (val) {\n    this.mapdata.enableTraffic = val;\n    if (val) {\n      this.mapInstance.add(this.trafficLayer);\n    } else {\n      this.mapInstance.remove(this.trafficLayer);\n    }\n  }\n\n  enableBuildingChanged (val) {\n    this.mapdata.enableBuilding = (val === undefined || val === true);\n    this.mapInstance.setFeatures(this.countFeatures());\n  }\n\n  doMapAction (data) {\n    this[`mapAction${data.method}`] && this[`mapAction${data.method}`](data);\n  }\n\n  mapActionaddMarkers (data) {\n    try {\n      this.markersChanged(data.markers, data.clear);\n      this.cbSuccess({ data, cid: this.mapdata.cid });\n    } catch (err) {\n      this.cbFail({ data, cid: this.mapdata.cid, err });\n    }\n  }\n\n  mapActionfromScreenLocation (data) {\n    try {\n      const bounds = this.mapInstance.getBounds().bounds;\n      const nw = bounds[0];\n      this.cbSuccess({\n        data,\n        cid: this.mapdata.cid,\n        params: {\n          latitude: nw.getLat(),\n          longitude: nw.getLng()\n        },\n        noChangeEventName: true\n      });\n    } catch (err) {\n      this.cbFail({ data, cid: this.mapdata.cid, err, noChangeEventName: true });\n    }\n  }\n\n  mapActiongetCenterLocation (data) {\n    try {\n      const lnglat = this.mapInstance.getCenter();\n      this.cbSuccess({\n        data,\n        cid: this.mapdata.cid,\n        params: {\n          latitude: lnglat.getLat(),\n          longitude: lnglat.getLng()\n        }\n      });\n    } catch (err) {\n      this.cbFail({ data, cid: this.mapdata.cid, err });\n    }\n  }\n\n  mapActiongetRegion (data) {\n    try {\n      const bounds = this.mapInstance.getBounds().bounds;\n      const ne = bounds[1];\n      const sw = bounds[3];\n      this.cbSuccess({\n        data,\n        cid: this.mapdata.cid,\n        params: {\n          northeast: {\n            latitude: ne.getLat(),\n            longitude: ne.getLng()\n          },\n          southwest: {\n            latitude: sw.getLat(),\n            longitude: sw.getLng()\n          }\n        }\n      });\n    } catch (err) {\n      this.cbFail({ data, cid: this.mapdata.cid, err });\n    }\n  }\n\n  mapActiongetScale (data) {\n    try {\n      const scale = this.mapInstance.getZoom();\n      this.cbSuccess({\n        data,\n        cid: this.mapdata.cid,\n        params: {\n          scale\n        }\n      });\n    } catch (err) {\n      this.cbFail({ data, cid: this.mapdata.cid, err });\n    }\n  }\n\n  mapActiongetSkew (data) {\n    try {\n      const skew = this.mapInstance.getPitch();\n      this.cbSuccess({\n        data,\n        cid: this.mapdata.cid,\n        params: {\n          skew\n        }\n      });\n    } catch (err) {\n      this.cbFail({ data, cid: this.mapdata.cid, err });\n    }\n  }\n\n  mapActiongetRotate (data) {\n    try {\n      let rotate = this.mapInstance.getRotation();\n      rotate += -(Math.floor((rotate) / 360) * 360);\n      this.cbSuccess({\n        data,\n        cid: this.mapdata.cid,\n        params: {\n          rotate\n        }\n      });\n    } catch (err) {\n      this.cbFail({ data, cid: this.mapdata.cid, err });\n    }\n  }\n\n  mapActionincludePoints(data) {\n    try {\n      const points = data.points;\n      if (points.length === 0) {\n        throw new Error('参数错误')\n      }\n\n      const ne = points.reduce((previousItem, currentItem) => {\n        return {\n          longitude: Math.max(previousItem.longitude, currentItem.longitude),\n          latitude: Math.max(previousItem.latitude, currentItem.latitude)\n        }\n      }, points[0]);\n\n      const sw = points.reduce((previousItem, currentItem) => {\n        return {\n          longitude: Math.min(previousItem.longitude, currentItem.longitude),\n          latitude: Math.min(previousItem.latitude, currentItem.latitude)\n        }\n      }, points[0]);\n      const bounds = new this.mapConstructor.Bounds([ne.longitude, ne.latitude], [sw.longitude, sw.latitude]);\n      this.mapInstance.setBounds(bounds);\n      this.cbSuccess({ data, cid: this.mapdata.cid });\n    } catch (err) {\n      this.cbFail({ data, cid: this.mapdata.cid, err });\n    }\n  }\n\n  mapActioninitMarkerCluster (data) {\n    try {\n      if(!this.makerCluster) {\n        throw new Error('clusters plugin is initializing')\n      }\n      this.makerCluster.setGridSize(data.gridSize);\n      this.cbSuccess({ data, cid: this.mapdata.cid });\n    } catch (err) {\n      this.cbFail({ data, cid: this.mapdata.cid, err });\n    }\n  }\n\n  mapActionmoveAlong (data) {\n    try {\n      const { markerId, path = [], duration = 3000 } = data;\n      if (!markerId) {\n        this.cbFail({ data, cid: this.mapdata.cid, err: 'markerId should be Number instead of Undefined' });\n        return\n      }\n      const marker = this.markersInstence[markerId];\n      if (marker) {\n        const line = path.map(e => {\n          return [e.longitude, e.latitude]\n        });\n        const distence = line.reduce((total, val, idx) => {\n          if (idx === 0) return total\n          const nowPosition = new this.mapConstructor.LngLat(line[idx - 1][0], line[idx - 1][1]);\n          const toPosition = new this.mapConstructor.LngLat(val[0], val[1]);\n          const dis = nowPosition.distance(toPosition);\n          return (total + dis)\n        }, 0);\n        const speed = (distence / 1000) / ((duration / 1000) / 3600);\n        marker.moveAlong(line, speed);\n        setTimeout(() => {\n          this.cbSuccess({\n            data,\n            cid: this.mapdata.cid\n          });\n        }, duration);\n      } else {\n        this.cbFail({ data, cid: this.mapdata.cid, err: ('can not find marker with id ' + markerId) });\n        return\n      }\n    } catch (err) {\n      this.cbFail({ data, cid: this.mapdata.cid, err });\n    }\n  }\n\n  mapActionmoveToLocation (data = { latitude: 39.92, longitude: 116.46 }) {\n    try {\n      this.moveToLocationChangeFlag = true;\n      this.mapInstance.setCenter(new this.mapConstructor.LngLat(data.longitude || 0, data.latitude || 0));\n      this.cbSuccess({\n        data,\n        cid: this.mapdata.cid\n      });\n    } catch (err) {\n      this.moveToLocationChangeFlag = false;\n      this.cbFail({ data, cid: this.mapdata.cid, err });\n    }\n  }\n\n  mapActionopenMapApp (data) {\n    try {\n      this.cbSuccess({ data, cid: this.mapdata.cid });\n    } catch (err) {\n      this.cbFail({ data, cid: this.mapdata.cid, err });\n    }\n  }\n\n  mapActionremoveMarkers (data) {\n    try {\n      this._removeMarkers(data.markerIds);\n      this.cbSuccess({ data, cid: this.mapdata.cid });\n    } catch (err) {\n      this.cbFail({ data, cid: this.mapdata.cid, err });\n    }\n  }\n\n  mapActionsetCenterOffset (data) {\n    try {\n      let offset = data.offset;\n      const regonData = this.initRegonData;\n      const min = 0.25;\n      const max = 0.75;\n      const range = max - min;\n      offset = offset.map(item => {\n        if (item >= max) {\n          item = max;\n        }\n        if (item <= min) {\n          item = min;\n        }\n        return item\n      });\n      const xPercent = (range - (offset[0] - min)) / range;\n      const yPercent = ( (offset[1] - min)) / range;\n\n      const xPoint = (regonData.northeast.longitude - regonData.northwest.longitude) * xPercent + regonData.northwest.longitude;\n      const yPoint = (regonData.northeast.latitude - regonData.southeast.latitude) * yPercent + regonData.southeast.latitude;\n\n      if (this.initCenterOffset.length === 0 || this.initCenterOffset[0] !== offset[0] || this.initCenterOffset[1] !== offset[1]) {\n        this.mapInstance.setCenter(new this.mapConstructor.LngLat(xPoint, yPoint));\n        this.initCenterOffset = offset;\n      }\n      this.cbSuccess({ data, cid: this.mapdata.cid });\n    } catch (err) {\n      this.cbFail({ data, cid: this.mapdata.cid, err });\n    }\n  }\n\n  mapActionsetLocMarkerIcon (data) {\n    this.cbFail({ data, cid: this.mapdata.cid, err: `${data.method}未实现` });\n  }\n\n  mapActiontoScreenLocation (data) {\n    data.longitude = data.longitude ? data.longitude : 113.93041;\n    data.latitude = data.latitude ? data.latitude : 22.53332;\n    try {\n      const lnglat = new this.mapConstructor.LngLat(data.longitude, data.latitude);\n      const pixel = this.mapInstance.lngLatToContainer(lnglat);\n      this.cbSuccess({ data, params: { ...pixel }, cid: this.mapdata.cid });\n    } catch (err) {\n      this.cbFail({ data, cid: this.mapdata.cid, err });\n    }\n  }\n\n  mapActiontranslateMarker (data) {\n    try {\n      let { markerId, destination, rotate, duration = 3000 } = data;\n      if (markerId === undefined) {\n        this.cbFail({ data, cid: this.mapdata.cid, err: 'markerId should be Number instead of Undefined' });\n        return\n      }\n      if (typeof markerId === 'object') {\n        this.cbFail({ data, cid: this.mapdata.cid, err: 'error markerId' });\n        return\n      }\n      if (!duration || isNaN(duration)) {\n        duration = 3000;\n      }\n      const marker = this.markersInstence[markerId];\n      if (marker) {\n        const nowPosition = marker.getPosition();\n        const toPosition = new this.mapConstructor.LngLat(destination.longitude, destination.latitude);\n        const distance = nowPosition.distance(toPosition);\n        const speed = (distance / 1000) / ((duration / 1000) / 3600);\n        marker.moveTo(toPosition, speed);\n        !isNaN(rotate) && marker.setAngle(rotate);\n        setTimeout(() => {\n          this.cbSuccess({ data, cid: this.mapdata.cid });\n        }, duration);\n      } else {\n        this.cbFail({ data, cid: this.mapdata.cid, err: ('can not find marker with id ' + markerId) });\n        return\n      }\n    } catch (err) {\n      this.cbFail({ data, cid: this.mapdata.cid, err });\n    }\n  }\n\n  cbSuccess ({ data, cid, params = {}, noChangeEventName }) {\n    const eventName = data.method;\n    this.FinChatJSBridge.publish('doneMapAction', {\n      mapId: cid,\n      callbackId: data.callbackId,\n      eventName,\n      res: {\n        errMsg: `${eventName}:ok`,\n        ...params\n      }\n    });\n  }\n  \n  cbFail ({ data, cid, err, noChangeEventName }) {\n    const eventName = data.method;\n    this.FinChatJSBridge.publish('doneMapAction', {\n      mapId: cid,\n      callbackId: data.callbackId,\n      eventName,\n      res: {\n        errMsg: `${eventName}:fail ${err.toString()}`\n      }\n    });\n  }\n}\n\nconst watchKeys = [\n  'latitude',\n  'longitude',\n  'scale',\n  'markers',\n  'polyline',\n  'circles',\n  'controls',\n  'polygons',\n  'rotate',\n  'skew',\n  'showCompass',\n  'showScale',\n  'enableZoom',\n  'enableScroll',\n  'enableRotate',\n  'enableSatellite',\n  'enableTraffic',\n  'enablePoi',\n  'enableBuilding'\n];\n\nconst mapList = {};\nlet invokeCallback , emitCustomEvent, FinChatJSBridge;\n\n\nfunction injectBridgeHelpers  (callback, eventEmitter, jsBridge)  {\n  invokeCallback = callback;\n  emitCustomEvent = eventEmitter;\n  FinChatJSBridge = jsBridge;\n  FinChatJSBridge.subscribe('doMapAction', (args) => {\n    mapList[args.data.mapId].doMapAction(args.data);\n  });\n}\n\nasync function insertNativeMap (event, params, callbackId) {\n  const newMap = new MapInstance(event, params, callbackId, invokeCallback,  emitCustomEvent, FinChatJSBridge);\n  mapList[params.cid] = newMap;\n}\n\nfunction updateNativeMap (event, params, callbackId) {\n  mapList[params.cid] && mapList[params.cid].mapUpdate(params);\n}\n\nfunction removeNativeMap (event, params, callbackId) {\n  mapList[params.cid] && mapList[params.cid].mapInstance.destroy();\n}\n\nfunction loadConfig (mapConfig = {}) {\n  setMapConfig(mapConfig);\n}\n\nexports.injectBridgeHelpers = injectBridgeHelpers;\nexports.insertNativeMap = insertNativeMap;\nexports.loadConfig = loadConfig;\nexports.removeNativeMap = removeNativeMap;\nexports.updateNativeMap = updateNativeMap;\n"]}