Это относится к ArcGIS Server 9.3 с JavaScript API 2.4.
Моя цель - щелкнуть карту и запустить задачу «Идентифицировать» на всех видимых динамических слоях.
Для IdentifyTask требуется URL-адрес для конечной точки REST, где IdentifyParameters указывает, на каких layerIds должна выполняться операция идентификации.
Похоже, что инструмент «Идентифицировать» ожидает, что все слои будут доступны с одной и той же конечной точки REST (то есть с одного и того же ArcGIS Server).
В моем случае слои обслуживаются из нескольких экземпляров ArcGIS Server - как может инструмент «Идентифицировать» поддерживать это? Например, если слои «Здания» и «Участки» на этой карте исходили из отдельных Серверов ArcGIS.
(Это связано с моим предыдущим вопросом , но теперь я понимаю, что сначала мне нужно ответить на этот вопрос)
источник
Ответы:
Во-первых, вот упрощенный пример JavaScript API, демонстрирующий концепцию использования DeferredList для обработки нескольких задач идентификации:
Тогда вот пример в jsFiddle, который, я думаю, делает то, что вы хотите, работает, используя все видимые слои во всех видимых слоях динамической карты на карте.
http://jsfiddle.net/blordcastillo/mULcz/
Все опечатки теперь исправлены :)
Основная идея заключается в том, что всякий раз, когда на карту нажимают или видимость переключается, идентификация повторяется. Когда выполняется идентификация, количество запущенных задач идентификации зависит от количества видимых слоев, и он ожидает, пока все слои не вернутся, чтобы отобразить его результаты.
источник
Задача идентификации может ссылаться только на один картографический сервис, поэтому вам придется либо:
Я столкнулся с подобными ситуациями с приложением, в котором я хотел иметь возможность идентифицировать себя в картографическом сервисе DEM и в картографическом сервисе повышения уровня моря из задачи геообработки. Я решил запустить две IdentifyTasks. Единственное, что вам действительно нужно добавить, это выяснить, когда обе задачи будут выполнены.
Основной поток (это было с использованием Silverlight / C #)
источник
Я воссоздал этот самый сценарий с отложенным списком, но сложная часть определяла только слои, которые находятся в масштабе. Это для версии 3.2 jsapi http://www.spatialexception.org/posts/arcgis-javascript-identifytask-returns-scale-dependent-layers
источник