Ограничивающие прямоугольные координаты - PullRequest
0 голосов
/ 28 января 2020

Я читал документацию по ArcGIS API для JavaScript версии 4.14 и не могу найти ответ.

Я часами изучаю вашу документацию, но, похоже, я не могу найти способ сделать простую вещь это может быть сделано с любой другой библиотекой картографирования (см. Google Maps, Mapbox, Здесь и т. д. c и c).

У меня есть Map и MapView , я хотел бы иметь точки ограничительной рамки карты / карты каждый раз, когда карта меняется (северо-восток / юго-запад), чтобы запускать поиск в базе данных только по этой области.

карта работает отлично, я пытаюсь использовать наблюдателя:

viewMap.watch("stationary", function (status) {
            if (status) {
                PerformSearch();
            }
        });

function PerformSearch() {
        var searchOptions = {
            CurrentPage: 1,
            Boundaries: { North: viewMap.extent.ymax, East: viewMap.extent.xmax, South: viewMap.extent.ymin, West: viewMap.extent.xmin },
            ....
}

Но я вижу, что viewMap.extent дает мне пространственную привязку, которая недопустима для меня, я хотел бы просто иметь координаты широты и долготы обеих точек.

Есть ли способ сделать это? Большое спасибо ... Любая помощь будет оценена!

1 Ответ

0 голосов
/ 28 января 2020

Координаты экстента вида находятся в системе пространственной привязки карты, и это определяется системой пространственной привязки слоя базовой карты. Если вы используете веб-карты, такие как ESRI, OpenStreetMap и т. Д. c, тогда Web Mercator WKT 3857.

Теперь, чтобы получить широту / долготу, вам необходимо преобразовать в координаты Geographi c. В этом случае вы можете использовать webMercatorUtils для получения преобразованного экстента, что-то вроде этого,

let geoExt = webMercatorUtils.webMercatorToGeographic(viewmap.extent);

ArcGIS API Do c webMercatorUtils

...