Isso se aplica ao ArcGIS Server 9.3 com a API JavaScript 2.4.
Meu objetivo é clicar no mapa e executar a tarefa Identificar em todas as camadas dinâmicas visíveis.
IdentifyTask requer uma URL para o terminal REST, com IdentifyParameters especificando em quais camadas a operação de identificação deve ser executada.
Parece que a ferramenta Identify espera que todas as camadas sejam acessíveis a partir do mesmo ponto de extremidade REST (ou seja, o mesmo ArcGIS Server).
No meu caso, as camadas estão sendo atendidas a partir de várias instâncias do ArcGIS Server - como a ferramenta Identify suporta isso? Por exemplo, se as camadas Edifícios e Encomendas neste mapa vierem de servidores ArcGIS separados.
(Isso está relacionado à minha pergunta anterior , mas agora percebo que preciso responder a essa pergunta primeiro)
fonte
Respostas:
Primeiro, aqui está um exemplo simplificado da API JavaScript para mostrar o conceito de uso do DeferredList para processar várias tarefas de identificação:
Então, aqui está um exemplo no jsFiddle que eu acho que faz o que você deseja, executado usando todas as camadas visíveis em todas as camadas visíveis do mapa dinâmico no mapa.
http://jsfiddle.net/blordcastillo/mULcz/
Todos os erros de digitação foram corrigidos agora :)
A idéia básica é que sempre que o mapa é clicado ou a visibilidade é alternada, a identificação é executada novamente. Quando a identificação é executada, o número de tarefas de identidade acionadas depende do número de camadas visíveis e aguarda até que todas as camadas retornem para exibir seus resultados.
fonte
A tarefa de identificação pode fazer referência apenas a um serviço de mapa, portanto, você precisará:
Eu me deparei com situações semelhantes com um aplicativo em que queria ser capaz de identificar em um serviço de mapa do DEM e em um serviço de mapa de resultados da elevação do nível do mar a partir de uma tarefa de geoprocessamento. Eu escolhi executar duas IdentifyTasks. A única coisa que você realmente precisa adicionar é descobrir quando as duas tarefas são concluídas.
O fluxo básico é (isso estava usando o Silverlight / C #)
fonte
Recriei esse mesmo cenário com lista adiada, mas a parte complicada foi identificar apenas as camadas que estão em escala. Isto é para a versão 3.2 jsapi http://www.spatialexception.org/posts/arcgis-javascript-identifytask-returns-scale-dependent-layers
fonte