1. 效果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/940a98b7b931c2fe60fe4b8dfc150a3d.png)
2. 外部资源
<link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/leaflet/1.7.1/leaflet.min.css">
<script src="https://cdn.bootcdn.net/ajax/libs/leaflet/1.7.1/leaflet.min.js"></script>
<style>
*{
margin:0;
padding:0;
box-sizing: border-box;
}
body{
position: absolute;
width: 100%;
height: 100%;
}
#map{
width: 100%;
height: 100%;
border: 1px solid rgba(22,22,22,0.7);
}
</style>
<script type="text/javascript">
!function(){
L.TileLayer.ChinaProvider = L.TileLayer.extend({
initialize: function(type, options) {
var providers = L.TileLayer.ChinaProvider.providers
, parts = type.split('.')
, providerName = parts[0]
, mapName = parts[1]
, mapType = parts[2]
, url = providers[providerName][mapName][mapType];
options.subdomains = providers[providerName].Subdomains;
L.TileLayer.prototype.initialize.call(this, url, options);
}
});
L.TileLayer.ChinaProvider.providers = {
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}',
},
Subdomains: ["1", "2", "3", "4"]
},
};
L.tileLayer.chinaProvider = function(type, options) {
return new L.TileLayer.ChinaProvider(type, options);
};
}();
</script>
3. DOM 元素
<body style="padding:10px;">
<div id="map"></div>
</body>
4. JS
function createMap(){
var map = L.map('map', {
center: [ 39.904179,116.407387 ],
zoom: 10,
zoomControl: false,
attributionControl: false,
});
var normalm = L.tileLayer.chinaProvider('GaoDe.Normal.Map',{
minZoom: 3,
maxZoom: 17,
});
map.addLayer(normalm);
return map;
}
var map = createMap();
5. 完整代码
<!DOCTYPE html>
<html>
<head>
<title>Leaflet 显现</title>
<link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/leaflet/1.7.1/leaflet.min.css">
<script src="https://cdn.bootcdn.net/ajax/libs/leaflet/1.7.1/leaflet.min.js"></script>
<style>
*{
margin:0;
padding:0;
box-sizing: border-box;
}
body{
position: absolute;
width: 100%;
height: 100%;
}
#map{
width: 100%;
height: 100%;
border: 1px solid rgba(22,22,22,0.7);
}
</style>
<script type="text/javascript">
!function(){
L.TileLayer.ChinaProvider = L.TileLayer.extend({
initialize: function(type, options) {
var providers = L.TileLayer.ChinaProvider.providers
, parts = type.split('.')
, providerName = parts[0]
, mapName = parts[1]
, mapType = parts[2]
, url = providers[providerName][mapName][mapType];
options.subdomains = providers[providerName].Subdomains;
L.TileLayer.prototype.initialize.call(this, url, options);
}
});
L.TileLayer.ChinaProvider.providers = {
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}',
},
Subdomains: ["1", "2", "3", "4"]
},
};
L.tileLayer.chinaProvider = function(type, options) {
return new L.TileLayer.ChinaProvider(type, options);
};
}();
</script>
</head>
<body style="padding:10px;">
<div id="map"></div>
</body>
<script type="text/javascript">
function createMap(){
var map = L.map('map', {
center: [ 39.904179,116.407387],
zoom: 10,
zoomControl: false,
attributionControl: false,
});
var normalm = L.tileLayer.chinaProvider('GaoDe.Normal.Map', {
minZoom: 3,
maxZoom: 17,
});
map.addLayer(normalm);
return map;
}
var map = createMap();
</script>
</html>