OpenLayer中加載ArcGIS服務提供了最經常使用的TileArcGISRest方法,實際上咱們從瀏覽器的network捕捉的每次的請求連接亦或者看其源碼,都會發現,它實際上調取了arcserver的REST API中的export接口,對於普通的服務來講確實足夠了,可是對於地圖服務內容比較多的服務,使用export的方法,會加大服務器的承擔量,會出現加載等待的狀況。html
因此咱們須要作切片,並調取切片地址,調取切片咱們使用XYZ方式瀏覽器
下面是方法服務器
import TileLayer from "ol/layer/Tile"; import {XYZ} from "ol/source"; import TileGrid from "ol/tilegrid/TileGrid"; let newLayer = new TileLayer({ source: new XYZ({ url: `${url}/tile/{z}/{y}/{x}`, tileGrid: new TileGrid(_tileInfo), projection: 'EPSG:4528', }) });
若是使用的是我博客OpenLayer對容器Map自定義座標系中的方法,其中的 projection只須要聲明便可,由於你已經在容器中進行了註冊post
其中的tileGrid參數必定要填,其中的_tileInfo須要本身去配置,我是自定義的切片方案,下面是個人配置大概結構url
tileInfo: { tileSize: 256, origin: [34876800, 10002100], extent: [4033632.0624805965, 3941793.1294050445, 40415464.86271994, 4009201.8967805225], resolutions: [ 132.29193125052919, 76.351460927313525, 38.175730463656762, 19.087865231828381, 9.543932616046483, 4.7719663078909491, 2.3859831539454746, 1.1929915769727373, 0.59649578861866059, 0.14912394722081113 ] }
其中的resolutions須要降序排列,其具體的值,須要本身去你所發佈的arcserver詳細頁面去查看spa