kikitte / MVTImageryProvider

A Mapbox style renderer for CesiumJS
MIT License
191 stars 50 forks source link

增强部分能力(token、transformREquest、tilingScheme) #15

Closed hongfaqiu closed 2 years ago

hongfaqiu commented 2 years ago

这个PR增强的内容较多:

  1. 增加对4326瓦片的支持,修改了mapbox-gl,https://github.com/hongfaqiu/Mapbox-vector-tiles-basic-js-renderer/commit/6c3a77f4e05e4e3428b88b45c83c0bc664fb82a1
  2. 增加mapbox全局请求token参数,修改了mapbox-gl,https://github.com/hongfaqiu/Mapbox-vector-tiles-basic-js-renderer/commit/696c8caf4b19aecc1f58f186073d99a2a8dee3b4#diff-34e7fbdc82f0cc7e8c4d7916c5b2d9fd5703944f7212cc2520ec568329323f83R22
  3. 增加transformRequest参数,支持更改每次请求,修改了mapbox-gl,https://github.com/hongfaqiu/Mapbox-vector-tiles-basic-js-renderer/commit/4fde3652e8a2c8d7dc4b58aab0f31c04b145cc81#diff-34e7fbdc82f0cc7e8c4d7916c5b2d9fd5703944f7212cc2520ec568329323f83R61-R65
    
    interface IResourceType {
    Unknown: keyof this;
    Style: keyof this;
    Source: keyof this;
    Tile: keyof this;
    Glyphs: keyof this;
    SpriteImage: keyof this;
    SpriteJSON: keyof this;
    Image: keyof this;
    }
    type ResourceTypeEnum = keyof IResourceType;

/**

hongfaqiu commented 2 years ago

我这边的工程中4326瓦片测试下来,拼接有点问题,暂时想不出来为什么,感觉可能和canvas绘制有关。 即使更改_getTilesSpec()方法,只获取当前单张瓦片,也会出现这样的问题。 image image

kikitte commented 2 years ago

感谢PR,我建议每个PR只提交一个功能,这样方便代码审查以及合并,所以我会参考该PR的所有功能进行逐一修改并另外提交,不合并该PR,还请谅解。有问题我们还在这里讨论。

hongfaqiu commented 2 years ago

感谢大佬,俺没什么PR经验,辛苦大佬逐一查看了

kikitte commented 2 years ago

@hongfaqiu 见笑,没什么大佬不大佬的,你做的这些事情可比我深入多了。

第一个支持4326瓦片我感觉没必要强行加上该功能,https://github.com/hongfaqiu/Mapbox-vector-tiles-basic-js-renderer/commit/6c3a77f4e05e4e3428b88b45c83c0bc664fb82a1 中修改关键是放开了瓦片坐标中x值的检查,参考你的测试以及我也尝试了下,渲染4326瓦片确乎有问题。鉴于mapbox gl js 1.x版本的瓦片类相关代码与webmercator切片方案紧密关联,我的结论是支持4326瓦片估计难度很大,不一定能做出来。

hongfaqiu commented 2 years ago

@hongfaqiu 见笑,没什么大佬不大佬的,你做的这些事情可比我深入多了。

第一个支持4326瓦片我感觉没必要强行加上该功能,hongfaqiu/Mapbox-vector-tiles-basic-js-renderer@6c3a77f 中修改关键是放开了瓦片坐标中x值的检查,参考你的测试以及我也尝试了下,渲染4326瓦片确乎有问题。鉴于mapbox gl js 1.x版本的瓦片类相关代码与webmercator切片方案紧密关联,我的结论是支持4326瓦片估计难度很大,不一定能做出来。

哈哈哈哈哈,太开心了。4326这一块没想到还和mapbox-gl有关,如果是这样,那确实挺难修改的。

kikitte commented 2 years ago

第二点 增加mapbox全局请求token参数 应该没有必要修改mapbox-gl代码,我认为直接设修改Mapbox模块会更好https://github.com/kikitte/MVTImageryProvider/blob/43f23cd1527d913109852aa0c82f63625373f883/src/index.js#L36-L38

hongfaqiu commented 2 years ago

第二点 增加mapbox全局请求token参数 应该没有必要修改mapbox-gl代码,我认为直接设修改Mapbox模块会更好

https://github.com/kikitte/MVTImageryProvider/blob/43f23cd1527d913109852aa0c82f63625373f883/src/index.js#L36-L38

原来还可以这样么

kikitte commented 2 years ago

目前除了1. 4326瓦片支持 2. style传入url或Cesium.Resource外其余已完成,感谢,其中很多功能都很有用,比如transformRequest。

hongfaqiu commented 2 years ago

目前除了1. 4326瓦片支持 2. style传入url或Cesium.Resource外其余已完成,感谢,其中很多功能都很有用,比如transformRequest。

感谢审核PR