0

Может ли кто-нибудь предоставить образец кода для использования службы ArcGIS Map в API MapBox GL? Благодаря!Использование ArcGIS Map Service в API MapBox GL?

+0

Я не думаю, что это возможно. Услуги карты служат для изображений, gl - вектор. – CCantey

+0

Это кому-то еще картографическое обслуживание, или ваше? Если последний, вы можете опубликовать свою картографическую службу в качестве слоя векторной плитки с помощью ArcGIS Pro. См. Https://doc.arcgis.com/ru/arcgis-online/reference/vector-tile-layers.htm –

ответ

1

Mapbox GL только потребляет векторные плитки, совместимые с Mapbox Vector Tiles spec [1].

Если ArcGIS Map Service обеспечивает совместимые векторные плитки, возможно, вы можете создать стиль с источником плитки, указывающим на упомянутую вами службу [2].

[1] https://www.mapbox.com/vector-tiles/specification/

[2] https://www.mapbox.com/mapbox-gl-style-spec/#sources

+0

Спасибо за ваш ответ. Я видел, как люди отмечают, что они достигли этого. Мне просто нужен образец кода, чтобы заставить меня двигаться. Вот публичная конечная точка ArcGIS. Может быть, возможно через WMS? Я заинтересован в наложении различных услуг, связанных с погодой. http://nowcoast.noaa.gov/arcgis/rest/services/nowcoast/radar_meteo_imagery_nexrad_time/MapServer –

+0

ArcGIS as WMS: http://nowcoast.noaa.gov/arcgis/services/nowcoast/radar_meteo_imagery_nexrad_time/MapServer/WMSServer?request= GetCapabilities & service = WMS –

3
<style> 
    body { 
     margin: 0; 
     padding: 0; 
    } 

    #map1 { 
     position: absolute; 
     top: 0; 
     bottom: 0; 
     width: 49%; 
    } 

    #map2 { 
     position: absolute; 
     top: 0; 
     bottom: 0; 
     left: 51%; 
     width: 49%; 
    } 

    #map1_label, 
    #map2_label { 
     padding: 0.5em; 
     position: absolute; 
     z-index: 1; 
     top: 10; 
     color: #FFF; 
     font-size: 1.2em; 
     background-color: rgba(0, 0, 0, 0.8) 
    } 

    #map1_label { 
     left: 10; 
    } 

    #map2_label { 
     left: 51%; 
    } 
</style> 

<div id="map1_label">Dynamic Map Service</div> 
<div id="map2_label">Cached Map Service</div> 
<div id='map1'></div> 
<div id='map2'></div> 

<script> 
    mapboxgl.accessToken = 'your-mapbox-api-key'; 
    var map1 = new mapboxgl.Map({ 
     container: 'map1', 
     style: 'mapbox://styles/mapbox/streets-v10', 
     center: [153.021072, -27.470125], 
     zoom: 15 
    }); 

    var map2 = new mapboxgl.Map({ 
     container: 'map2', 
     style: 'mapbox://styles/mapbox/streets-v10', 
     center: [153.021072, -27.470125], 
     zoom: 15 
    }); 

    map1.on('load', function() { 
     map1.addLayer({ 
      "id": "dynamic-demo", 
      "type": "raster", 
      "minzoom": 0, 
      "maxzoom": 22, 
      "source": { 
       "type": "raster", 
       "tiles": ['https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/export?dpi=96&transparent=true&format=png32&layers=show%3A0&bbox={bbox-epsg-3857}&bboxSR=EPSG:3857&imageSR=EPSG:3857&size=256,256&f=image'], 
       "tileSize": 256 
      } 
     }); 
    }); 

    map2.on('load', function() { 
     map2.addLayer({ 
      "id": "cache-demo", 
      "type": "raster", 
      "minzoom": 0, 
      "maxzoom": 22, 
      "source": { 
       "type": "raster", 
       "tiles": ['https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}'], 
       "tileSize": 256 
      } 
     }); 
    }); 
</script> 

+0

Я знаю, что это старый пост, однако на всякий случай это помогает кому-либо, см. Выше: (две карты: одна с динамическим сервисом, другая с кешированной службой) –

 Смежные вопросы

  • Нет связанных вопросов^_^