You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.9 KiB
JavaScript
83 lines
2.9 KiB
JavaScript
|
2 weeks ago
|
L.TileLayer.ChinaProvider = L.TileLayer.extend({
|
||
|
|
|
||
|
|
initialize: function(type, options) { // (type, Object)
|
||
|
|
var providers = L.TileLayer.ChinaProvider.providers;
|
||
|
|
|
||
|
|
var parts = type.split('.');
|
||
|
|
|
||
|
|
var providerName = parts[0];
|
||
|
|
var mapName = parts[1];
|
||
|
|
var mapType = parts[2];
|
||
|
|
|
||
|
|
var url = providers[providerName][mapName][mapType];
|
||
|
|
options.subdomains = providers[providerName].Subdomains;
|
||
|
|
options.key = options.key || providers[providerName].key;
|
||
|
|
L.TileLayer.prototype.initialize.call(this, url, options);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
L.TileLayer.ChinaProvider.providers = {
|
||
|
|
TianDiTu: {
|
||
|
|
Normal: {
|
||
|
|
Map: "http://t{s}.tianditu.com/DataServer?T=vec_w&X={x}&Y={y}&L={z}&tk={key}",
|
||
|
|
Annotion: "http://t{s}.tianditu.com/DataServer?T=cva_w&X={x}&Y={y}&L={z}&tk={key}"
|
||
|
|
},
|
||
|
|
Satellite: {
|
||
|
|
Map: "http://t{s}.tianditu.com/DataServer?T=img_w&X={x}&Y={y}&L={z}&tk={key}",
|
||
|
|
Annotion: "http://t{s}.tianditu.com/DataServer?T=cia_w&X={x}&Y={y}&L={z}&tk={key}"
|
||
|
|
},
|
||
|
|
Terrain: {
|
||
|
|
Map: "http://t{s}.tianditu.com/DataServer?T=ter_w&X={x}&Y={y}&L={z}&tk={key}",
|
||
|
|
Annotion: "http://t{s}.tianditu.com/DataServer?T=cta_w&X={x}&Y={y}&L={z}&tk={key}"
|
||
|
|
},
|
||
|
|
Subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
|
||
|
|
key: "174705aebfe31b79b3587279e211cb9a"
|
||
|
|
},
|
||
|
|
|
||
|
|
GaoDe: {
|
||
|
|
Normal: {
|
||
|
|
Map: 'http://webrd0{s}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}'
|
||
|
|
},
|
||
|
|
Satellite: {
|
||
|
|
Map: 'http://webst0{s}.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}',
|
||
|
|
Annotion: 'http://webst0{s}.is.autonavi.com/appmaptile?style=8&x={x}&y={y}&z={z}'
|
||
|
|
},
|
||
|
|
Subdomains: ["1", "2", "3", "4"]
|
||
|
|
},
|
||
|
|
|
||
|
|
Google: {
|
||
|
|
Normal: {
|
||
|
|
Map: "http://www.google.cn/maps/vt?lyrs=m@189&gl=cn&x={x}&y={y}&z={z}"
|
||
|
|
},
|
||
|
|
Satellite: {
|
||
|
|
Map: "http://www.google.cn/maps/vt?lyrs=s@189&gl=cn&x={x}&y={y}&z={z}",
|
||
|
|
Annotion:"https://ditu.google.cn/maps/vt?pb=!1m5!1m4!1i{z}!2i{x}!3i{y}!4i256!2m3!1e0!2sm!3i413113259!3m12!2szh-CN!3sCN!5e18!12m4!1e68!2m2!1sset!2sRoadmapSatellite!12m3!1e37!2m1!1ssmartmaps!4e0!23i1301875&token=59227"
|
||
|
|
},
|
||
|
|
Subdomains: []
|
||
|
|
},
|
||
|
|
|
||
|
|
Geoq: {
|
||
|
|
Normal: {
|
||
|
|
Map: "http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineCommunity/MapServer/tile/{z}/{y}/{x}",
|
||
|
|
PurplishBlue: "http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetPurplishBlue/MapServer/tile/{z}/{y}/{x}",
|
||
|
|
Gray: "http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetGray/MapServer/tile/{z}/{y}/{x}",
|
||
|
|
Warm: "http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetWarm/MapServer/tile/{z}/{y}/{x}",
|
||
|
|
},
|
||
|
|
Theme: {
|
||
|
|
Hydro: "http://thematic.geoq.cn/arcgis/rest/services/ThematicMaps/WorldHydroMap/MapServer/tile/{z}/{y}/{x}"
|
||
|
|
},
|
||
|
|
Subdomains: []
|
||
|
|
},
|
||
|
|
|
||
|
|
OSM: {
|
||
|
|
Normal: {
|
||
|
|
Map: "http://{s}.tile.osm.org/{z}/{x}/{y}.png",
|
||
|
|
},
|
||
|
|
Subdomains: ['a', 'b', 'c']
|
||
|
|
}
|
||
|
|
|
||
|
|
};
|
||
|
|
|
||
|
|
L.tileLayer.chinaProvider = function(type, options) {
|
||
|
|
return new L.TileLayer.ChinaProvider(type, options);
|
||
|
|
};
|