如何将ESRI街道地图(https://leaflet-extras.github.io/leaflet-providers/preview/#filter=Esri.WorldStreetMap)集成到我的传单javascript中。以下是我所做的,但地图没有载入。
<script src="https://unpkg.com/esri-leaflet@2.0.6"></script>
<script> var map = L.map('map1').setView([48.135, 11.582], 3);
L.esri.basemapLayer('Streets').addTo(map);
L.tileLayer('http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map /MapServer/tile/{z}/{y}/{x}', {
attribution: 'Tiles © Esri — Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012'}).addTO(map); 发布于 2017-01-03 17:57:13
您正在混合两种完全不同的加载同一块地图服务的技术。
当您使用埃斯里传单插件时,您只需按名称提及Esri即可。传单的属性控制将自动填充相关的信贷,识别该地区的数据提供者,同时用户会自动移动和放大。
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.0.2/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet@1.0.2"></script>
<script src="https://unpkg.com/esri-leaflet@2.0.6"></script>
<script>
var map = L.map("map").setView([37.75, -122.23], 10);
L.esri.basemapLayer('Streets').addTo(map);
</script>第二种技术是使用传单自己的TileLayer类加载Esri。您自己的尝试中有一个错误,但是手动引用服务url并使用插件跳过肯定是有效的。
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.0.2/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet@1.0.2"></script>
<script>
var map = L.map("map").setView([37.75, -122.23], 10);
var serviceUrl = 'http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile/{z}/{y}/{x}';
var credits = 'Tiles © Esri — Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012 etc. etc. etc.';
// not addTO(map)
L.tileLayer(serviceUrl, { attribution: credits }).addTo(map);
</script>无论您采用哪种方法,Esri在传单应用程序中显示ArcGIS在线服务时都有ArcGIS。
https://stackoverflow.com/questions/41447249
复制相似问题