API Leaflet Map с Google Satellite Layer
Я очень заинтересован в API Leaflet Map.
Однако мне нужно иметь возможность использовать слой Google Satellite. Я не смог найти пример того, как добавить слой Google Satellite в Leaflet. Я понимаю, что мне все еще нужно будет загрузить API Карт Google для этого (пример есть у OpenLayers).
4 ответа
Leaflet имеет официальную страницу для публикации всех доступных плагинов: http://leafletjs.com/plugins.html
Там вы найдете плагины для добавления поддержки слоев Google в Leaflet.
Вам не нужен плагин или 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']
});
Note the difference in the "lyrs" parameter in the URL:
Hybrid: s,h;
Satellite: s;
Streets: m;
Terrain: p;
Для этого есть сторонний плагин: Демо: http://psha.org.ru/leaflet/bel.html (переключитесь на Google Maps с помощью переключателя) Источник: http://psha.org.ru/leaflet/Google.js
Альтернатива Google Maps API для спутникового слоя: Leaflet.js с плитками Esri World Imagery
<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>
Этот репозиторий содержит несколько слоев листов Google и других очень полезных плагинов: https://github.com/shramov/leaflet-plugins
Слой заголовка Google с трафиком
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'],
});
См. Их Общие условия
Надеюсь, кто-то поможет в этом