我对传单地图API非常感兴趣。
然而,我需要能够使用谷歌卫星层。我一直找不到如何在传单中添加谷歌卫星层的例子。我知道我仍然需要加载Google Maps API来完成这项工作(OpenLayers有一个例子)。
您不需要插件或Google API,您可以将其添加为XYZ瓦片层。
街道
googleStreets = L.tileLayer('http://{s}.google.com/vt/lyrs=m&x={x}&y={y}&z={z}',{
maxZoom: 20,
subdomains:['mt0','mt1','mt2','mt3']
});
混合:
googleHybrid = L.tileLayer('http://{s}.google.com/vt/lyrs=s,h&x={x}&y={y}&z={z}',{
maxZoom: 20,
subdomains:['mt0','mt1','mt2','mt3']
});
卫星:
googleSat = L.tileLayer('http://{s}.google.com/vt/lyrs=s&x={x}&y={y}&z={z}',{
maxZoom: 20,
subdomains:['mt0','mt1','mt2','mt3']
});
地形
googleTerrain = L.tileLayer('http://{s}.google.com/vt/lyrs=p&x={x}&y={y}&z={z}',{
maxZoom: 20,
subdomains:['mt0','mt1','mt2','mt3']
});
请注意;lyrs";URL中的参数:
Hybrid: s,h;
Satellite: s;
Streets: m;
Terrain: p;
有一个第三方插件:演示:http://psha.org.ru/leaflet/bel.html(使用切换器切换到谷歌地图)来源:http://psha.org.ru/leaflet/Google.js
卫星层的Google Maps API替代品:带有Esri World Imagery tiles 的传单.js
<script>
var map = L.map('map').setView([-41.2858, 174.78682], 14);
var mapLink = '<a href="http://www.esri.com/">Esri</a>';
var wholink = 'i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community';
L.tileLayer(
'http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}', {
attribution: '© '+mapLink+', '+wholink,
maxZoom: 18,
}).addTo(map);
</script>
这个存储库包含一些tile层google和其他非常有用的插件:https://github.com/shramov/leaflet-plugins
传单有一个官方页面,用于发布所有可用的插件:http://leafletjs.com/plugins.html
你会在那里找到插件,为传单添加谷歌层支持。
带有流量的谷歌标题层
var googleTraffic = L.tileLayer('https://{s}.google.com/vt/lyrs=m@221097413,traffic&x={x}&y={y}&z={z}', {
maxZoom: 20,
minZoom: 2,
subdomains: ['mt0', 'mt1', 'mt2', 'mt3'],
});
请参阅他们的通用条款
希望有人能帮助这个