天地图、谷歌地图、OSM地图

编写WMTS服务核心工做是什么?瓦片图地址模板、比例尺与分辨率、WGS84与瓦片图坐标的换算算法。还在找谷歌地图的比例尺和分辨率吗?还在用在用数学公式一点一点计算坐标吗?不用啦,我在这里把我已经计算好的分享给你们用。 天地图WGS84比例尺与分辨率,注意天地图WGS84地图已应用GCJ-02国家火星坐标系,坐标有偏移: [cpp] view plain copy 18:5.36441802978515E-06,//街道    17:1.07288360595703E-05,   16:2.1457672119140625E-05,   15:4.29153442382814E-05,   14:8.58306884765629E-05,   13:0.000171661376953125,   12:0.00034332275390625,   11:0.0006866455078125,   10:0.001373291015625,   9:0.00274658203125,   8:0.0054931640625,   7:0.010986328125,   6:0.02197265625,   5:0.0439453125,   4:0.087890625,   3:0.17578125,   2:0.3515625,   1:0.703125 //全球   天地图的投影地图与OSM地图、谷歌地图的比例尺与分辨率其实是相同的,以下所示: [cpp] view plain copy 18:0.597164283559817,   17:1.19432856685505,   16:2.38865713397468,   15:4.77731426794937,   14:9.55462853563415,   13:19.1092570712683,   12:38.2185141425366,   11:76.4370282850732,   10:152.8740565704,   9:305.7481128,   8:611.49622628138,   7:1222.99245256249,   6:2445.98490512499,   5:4891.96981024998,   4:9783.93962049996,   3:19567.8792409999,   2:39135.7584820001,   1:78271.5169639999   还有一个用天地图跳过国家火星GCJ-02的捷径,就是把WGS84坐标换算成为WebMecator坐标,代码以下: [cpp] view plain copy void wgs84_to_webmercator(double xy[2])   {       xy[0] = xy[0] * 20037508.3427892 / 180;       xy[1] = log(tan((90 + xy[1])*PI / 360)) / (PI / 180);       xy[1] = xy[1] * 20037508.3427892 / 180;   }   通过验证,天地图WebMecator投影与谷歌、OSM地图可以重合。