leaflet加载arcgis切片

1. 获取arcgis切片

目录1
目录2

2. 扩展一个leaflet的插件

L.TileLayer.ArcServerTileLoad = L.TileLayer.extend({
  getTileUrl: function (tilePoint) {
    var oo = '00000000'
    var xx = tilePoint.x.toString(16)
    xx = 'C' + oo.substring(0, 8 - xx.length) + xx
    var yy = tilePoint.y.toString(16)
    yy = 'R' + oo.substring(0, 8 - yy.length) + yy

    if (tilePoint.z.toString().length === 1) {
      tilePoint.z = '0' + tilePoint.z.toString()
    }
    return L.Util.template(this._url, L.extend({
      s: this._getSubdomain(tilePoint),
      z: 'L' + tilePoint.z,
      x: xx,
      y: yy
    }, this.options))
  }
})
L.tileLayer.arcServerTileLoad = function (url, options) {
  return new L.TileLayer.ArcServerTileLoad(url, options)
}

3. 加载切片

L.tileLayer.arcServerTileLoad('http://localhost:8080/map/{z}/{y}/{x}.png').addTo(map)

4. 调试

第一次加载上的时候,发现只能加载上一两个,大部分都找不到。后来就打开devtool,发现当地图层级在9级时,加载的是切片实际是6级的切片(这个可以看当地图在第9级时,后台一直在请求哪些切片,再根据这些切片名去文件夹中找到对应的第几层)。
解决办法可以把切片的文件名加上3

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容