UNPKG

realmap

Version:

Wooritech map chart component library

8 lines (6 loc) 2.07 kB
/** * RealMap Tiledweb v1.1.6 * Copyright (C) 2023-2026 WooriTech Inc. * All Rights Reserved. */ import{TiledWebSeriesType as e,extend as t,Series as i,isObject as s,DEG_RAD as r,PI as h,DataPoint as l}from"./index.mjs";const o={osm:{url:"https://a.tile.openstreetmap.org",credit:"OpenStreetMap"},esri:{url:"https://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile",credit:"Esri"}};class _ extends l{}class a extends i{constructor(e){super(e),this._start=[NaN,NaN]}get proivder(){return this._provider}get sides(){return this._sides}get tileWidth(){return this._wTile}get tileHeight(){return this._hTile}prepareTiles(e,t,i,s,r,h,l){this.chart.body.zoom;let o=this.$_calcLevel(e,t,r);const _=Math.pow(2,o-(o|0));let a=256*_,n=256*_;o=Math.floor(o),this.$_setLevel(o);const d=this.$_coordToTile([e,Math.min(85.0511,s)]),p=this.$_tileToCoord(d);return o===this._level&&d.x===this._xTile&&d.y===this._yTile&&a===this._wTile&&n===this._hTile&&p[0]===this._start[0]&&p[1]===this._start[1]||(this._level=o,this._xTile=d.x,this._yTile=d.y,this._wTile=a,this._hTile=n,this._start=p),{level:this._level,xTile:this._xTile,yTile:this._yTile,wTile:this._wTile,hTile:this._hTile,start:this._start}}isMapSeries(){return!0}needTranslate(){return!1}getLegendSources(e,t){}_createPoint(e){return new _(e)}_doApply(e){super._doApply(e);const t=e.provider;s(t)?this._provider=t:this._provider=o[String(t)||"osm"]}_doLoadPoints(e){}$_calcLevel(e,t,i,s=256){return Math.log2(360*i/(Math.abs(t-e)*s))}$_setLevel(e){(e=Math.max(1,e))!==this._level&&(this._level=e,this._sides=2**e,this._wTile=360/this._sides,this._hTile=170.1022/this._sides,this._optionChanged())}$_coordToTile(e){const t=this._sides,i=e[1]*r;return{z:t,x:(e[0]+180)/360*t,y:(1-Math.log(Math.tan(i)+1/Math.cos(i))/h)/2*t}}$_tileToCoord(e){return[e.x/e.z*360-180,Math.atan(Math.sinh(h*(1-2*e.y/e.z)))*(180/h)]}}function n(e){(function(e){return e.Series&&e.SeriesView})(e)&&e.Series.register(a)}a.type=e,a.defaults=t(i.defaults,{provider:"osm"});export{a as TiledWebSeries,n as default};