Mapbox добавить источник WMS - PullRequest
0 голосов
/ 25 октября 2018

В настоящее время я работаю над добавлением источника WMS на карту на платформе Android.Я использую mapbox, чтобы показать карту в приложении.Я пытаюсь добавить исходный слой WMS с гео-сервера, но исходный слой WMS добавляется несколько раз по карте, как показано на рисунке:

enter image description here

Вот фрагмент кода, который я использовал для добавления источника WMS:

@ Переопределить public void onMapReady (MapboxMap mapboxMap) {

    RasterSource webMapSource = new RasterSource(
            "web-map-source",
            new TileSet("tileset", "http://geo.skymetweather.com:8081/geoserver/cite/wms/cite:india_district_web?" +
                    "&bbox=68.036003112793,6.60812377929688,97.5504302978516," +
                    "37.2502937316895&format=image/png&service=WMS&version=1.1.1&" +
                    "request=GetMap&srs=EPSG:4326&width=493&height=512&layers=cite:india_district_web"), 256);

    mapboxMap.addSource(webMapSource);

    // Add the web map source to the map.
    RasterLayer webMapLayer = new RasterLayer("web-map-layer", "web-map-source");
    mapboxMap.addLayerBelow(webMapLayer, "aeroway-taxiway");

} 

Пожалуйста, предложите, если что-то не так с кодомили кто-нибудь знает, как добавить растровый источник на карту?

Заранее спасибо!

1 Ответ

0 голосов
/ 18 ноября 2018

Mapbox поддерживает только «EPSG: 3857» для рендеринга тайлов WMS, и вы должны проецировать свой источник на этот SRS.Кроме того, нет необходимости устанавливать статическую ограничивающую рамку, как вы это делали во второй строке TileSet.Используйте этот шаблон для загрузки WMS в вашем приложении:

RasterSource webMapSource = new RasterSource(
                       "web-map-source",
                        new TileSet("tileset",
                           'http://a.example.com/wms?bbox={bbox-epsg-3857}&format=image/png&service=WMS&version=1.1.1&request=GetMap&srs=EPSG:3857&width=256&height=256&layers=example')
                           ,256);
...