前言
mapbox默认的投影是3857,但是实际应用中我们经常会使用高德、百度、天地图的服务,原生mapbox是不支持的,需要我们修改源码以支持以上坐标系。
参考:
效果
修改源码后支持多种坐标系,当然也不会影响原本的3857坐标。
不同服务的测试地址
- 高德:https://webrd01.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scale=1&style=8
- 百度: http://online1.map.bdimg.com/onlinelabel/?qt=tile&x={x}&y={y}&z={z}&styles=pl&scaler=1&p=1
- 天地图2000坐标系:https://t2.tianditu.gov.cn/vec_c/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=vec&STYLE=default&TILEMATRIXSET=c&FORMAT=tiles&TILECOL={x}&TILEROW={y}&TILEMATRIX={z}&tk= your token
- 天地图84坐标系里:https://t0.tianditu.gov.cn/vec_w/wmts?tk= yuor token&SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=vec&STYLE=default&TILEMATRIXSET=w&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&FORMAT=tiles
总结
以上代码核心思路的参考都已经列出,由于整体封装在sdk中,代码较重不方便给出源码,有疑惑的小伙伴欢迎交流。