Buscar

ArcGIS Web Development-pt

Prévia do material em texto

TRIPULAÇÃO
Rene Rubalcava
www.it-ebooks.info
Desenvolvimento Web ArcGIS
www.it-ebooks.info
ii
www.it-ebooks.info
Desenvolvimento 
Web ArcGIS
RENE Rubalcava
MANN I NG
S HELTER Eu slandS HELTER Eu slandS HELTER Eu slandS HELTER Eu sland
www.it-ebooks.info
Para obter informações on-line e ordenação deste e de outros livros Manning, visite
www.manning.com . O editor oferece descontos sobre este livro quando ordenou em quantidade. Para mais informações por favor www.manning.com . O editor oferece descontos sobre este livro quando ordenou em quantidade. Para mais informações por favor 
entre em contato
Departamento de Vendas Especiais 
Manning Publications Co. 20 Baldwin 
Road PO Box 261
Shelter Island, NY 11964 E-mail: 
orders@manning.com
© 2015 Manning Publications Co. Todos os direitos reservados.
Nenhuma parte desta publicação pode ser reproduzida, armazenada num sistema de recuperação, ou transmitida, em qualquer 
forma ou por meios electrónicos, mecânicos, fotocópia, ou de outra forma, sem a autorização prévia do editor.
Muitas das designações usadas por fabricantes e vendedores para distinguir seus produtos são marcas registradas. Onde essas 
designações aparecem no livro, e Manning Publications estava ciente de uma reivindicação de marca registrada, as designações foram 
impressos em letras maiúsculas iniciais ou todos os tampões.
Reconhecendo a importância de preservar o que foi escrito, é política da Manning de ter os livros que publicamos impressos em 
papel sem ácido, e nós exercemos nossos melhores esforços para esse fim. Reconhecendo também a nossa responsabilidade de 
conservar os recursos do nosso planeta, livros Manning são impressos em papel que é pelo menos 15 por cento reciclado e 
processado sem cloro elementar.
Manning Publications Co. editor de desenvolvimento: Susan Conant
20 Baldwin Estrada editor desenvolvimento técnico: Florian Lengyel
PO Box 261 revisor técnico: Brian Arnold
Shelter Island, NY 11964 Copyeditors: Lianna Wlasiuk, 
Katie Petito
Revisor: Melody Dolab
Typesetter: Marija Tudor Cover 
Designer: Marija Tudor
ISBN: 9781617291616
Impresso nos Estados Unidos da América
1 2 3 4 5 6 7 8 9 10 - MAL - 19 18 17 16 15 14
www.it-ebooks.info
v
breves conteúdo
P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .............................. 1P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .............................. 1P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .............................. 1P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .............................. 1P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .............................. 1P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .............................. 1P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .............................. 1P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .............................. 1P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .............................. 1P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .............................. 1P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .............................. 1P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .............................. 1
1 ■ GIS como uma ferramenta 31 ■ GIS como uma ferramenta 31 ■ GIS como uma ferramenta 3
2 ■ 2 ■ Apresentando conceitos API do núcleo 17
3 ■ Trabalhando com a API REST 453 ■ Trabalhando com a API REST 453 ■ Trabalhando com a API REST 45
P ARTE 2 S AMPLO você SE C ASE .................................................. ... 65P ARTE 2 S AMPLO você SE C ASE .................................................. ... 65P ARTE 2 S AMPLO você SE C ASE .................................................. ... 65P ARTE 2 S AMPLO você SE C ASE .................................................. ... 65P ARTE 2 S AMPLO você SE C ASE .................................................. ... 65P ARTE 2 S AMPLO você SE C ASE .................................................. ... 65P ARTE 2 S AMPLO você SE C ASE .................................................. ... 65P ARTE 2 S AMPLO você SE C ASE .................................................. ... 65P ARTE 2 S AMPLO você SE C ASE .................................................. ... 65P ARTE 2 S AMPLO você SE C ASE .................................................. ... 65
4 ■ Construção de uma aplicação 674 ■ Construção de uma aplicação 674 ■ Construção de uma aplicação 67
5 ■ Desenvolver um aplicativo personalizado de recolha de dados 1015 ■ Desenvolver um aplicativo personalizado de recolha de dados 1015 ■ Desenvolver um aplicativo personalizado de recolha de dados 101
6 ■ Construindo um aplicativo navegador de desktop 1356 ■ Construindo um aplicativo navegador de desktop 1356 ■ Construindo um aplicativo navegador de desktop 135
7 ■ técnicas avançadas 1757 ■ técnicas avançadas 1757 ■ técnicas avançadas 175
www.it-ebooks.info
vi
www.it-ebooks.info
vii
conteúdo
prefaciar reconhecimentos 
xi xiii sobre este livro xiv
P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .................. 1P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .................. 1P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .................. 1P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .................. 1P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .................. 1P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .................. 1P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .................. 1P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .................. 1P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .................. 1P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .................. 1P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .................. 1P ARTE 1 Um RC GIS J AVA S CRIPT F OUNDATION .................. 1
1 GIS como uma ferramenta 31 GIS como uma ferramenta 3
1.1 GIS: aqui, ali, em toda parte 4
O ferramentas de SIG paisagem 4 ■ Apresentando a plataforma ArcGIS 6 ■ Por que O ferramentas de SIG paisagem 4 ■ Apresentando a plataforma ArcGIS 6 ■ Por que O ferramentas de SIG paisagem 4 ■ Apresentando a plataforma ArcGIS 6 ■ Por que O ferramentas de SIG paisagem 4 ■ Apresentando a plataforma ArcGIS 6 ■ Por que O ferramentas de SIG paisagem 4 ■ Apresentando a plataforma ArcGIS 6 ■ Por que 
se preocupam com aplicações espaciais? 7 tendências na indústria de GIS 8
1.2 Compreender os bits 9 GIS
O que e a onde de dados GIS 10 ■ Servindo de dados GIS: ArcGIS Server e a O que e a onde de dados GIS 10 ■ Servindo de dados GIS: ArcGIS Server e a O que e a onde de dados GIS 10 ■ Servindo de dados GIS: ArcGIS Server e a 
API REST 11 ■ Escolhendo um web API ArcGIS 12API REST 11 ■ Escolhendo um web API ArcGIS 12API REST 11 ■ Escolhendo um web API ArcGIS 12
1.3 Coisas para saber 13
JavaScript, Dojo Toolkit, e Dijit 13 ■ Introduzindo um pouco de SIG 14 ■ Interagindo JavaScript, Dojo Toolkit, e Dijit 13 ■ Introduzindo um pouco de SIG 14 ■ Interagindo JavaScript, Dojo Toolkit, e Dijit 13 ■ Introduzindo um pouco de SIG 14 ■ Interagindo JavaScript, Dojo Toolkit, e Dijit 13 ■ Introduzindo um pouco de SIG 14 ■ Interagindo JavaScript, Dojo Toolkit, e Dijit 13 ■ Introduzindo um pouco de SIG 14 ■ Interagindo 
com a API do ArcGIS RESTO 15
1.4 Resumo 15
www.it-ebooks.info
CONTEÚDOviii
2 Apresentando conceitos API do núcleo 172 Apresentando conceitos API do núcleo 17
2.1 A partir de dados para mapear 18
Partes de um mapa básico 19 ■ Especificando opções de mapa comuns 22Partes de um mapa básico 19 ■ Especificando opções de mapa comuns 22Partes de um mapa básico 19 ■ Especificando opções de mapa comuns 22
2.2 Entendendo camadas e acessar dados 24
tipos de camada de dados baseados em raster 25 ■ tipos de camada de dados tipos de camada de dados baseados em raster 25 ■ tipos de camada de dados tipos de camada de dados baseados em raster 25 ■ tipos de camada de dados 
vectorbased 27 ■ Conhecer os criação de gráficos GraphicsLayer 28 com a vectorbased 27 ■ Conhecer os criação de gráficos GraphicsLayer 28 com a vectorbased 27 ■ Conhecer os criação de gráficosGraphicsLayer 28 com a 
QueryTask 30
2,3 Trabalhando com o FeatureLayer 35
Vantagens de um FeatureLayer 36 ■ Criando um FeatureLayer 38 ■ Otimizando 39 Vantagens de um FeatureLayer 36 ■ Criando um FeatureLayer 38 ■ Otimizando 39 Vantagens de um FeatureLayer 36 ■ Criando um FeatureLayer 38 ■ Otimizando 39 Vantagens de um FeatureLayer 36 ■ Criando um FeatureLayer 38 ■ Otimizando 39 Vantagens de um FeatureLayer 36 ■ Criando um FeatureLayer 38 ■ Otimizando 39 
o desempenho do aplicativo selecionando os itens nos FeatureLayer 42
2.4 Resumo 44
3 Trabalhando com a API REST 453 Trabalhando com a API REST 45
3.1 Apresentando a API ArcGIS Server RESTO 47
Explorando como a API funciona 47 ■ Interagir com as páginas do ArcGIS Server 49Explorando como a API funciona 47 ■ Interagir com as páginas do ArcGIS Server 49Explorando como a API funciona 47 ■ Interagir com as páginas do ArcGIS Server 49
3.2 Construir o seu próprio widget 52
Construir o menu lenda raiz 52 ■ Recuperando detalhes da legenda 53 ■ Exibindo Construir o menu lenda raiz 52 ■ Recuperando detalhes da legenda 53 ■ Exibindo Construir o menu lenda raiz 52 ■ Recuperando detalhes da legenda 53 ■ Exibindo Construir o menu lenda raiz 52 ■ Recuperando detalhes da legenda 53 ■ Exibindo Construir o menu lenda raiz 52 ■ Recuperando detalhes da legenda 53 ■ Exibindo 
detalhes no widget lenda personalizada 54 ■ Trabalhar com vários símbolos em um detalhes no widget lenda personalizada 54 ■ Trabalhar com vários símbolos em um detalhes no widget lenda personalizada 54 ■ Trabalhar com vários símbolos em um 
recurso 55
3,3 Trabalhando com o serviço geometria 56
Tamponar o seu coração 56 ■ Tampão e seleccionar 59 tampão e 61 Tamponar o seu coração 56 ■ Tampão e seleccionar 59 tampão e 61 Tamponar o seu coração 56 ■ Tampão e seleccionar 59 tampão e 61 
intersectam
3.4 Resumo 64
P ARTE 2 S AMPLO você SE C ASE .......................................... 65P ARTE 2 S AMPLO você SE C ASE .......................................... 65P ARTE 2 S AMPLO você SE C ASE .......................................... 65P ARTE 2 S AMPLO você SE C ASE .......................................... 65P ARTE 2 S AMPLO você SE C ASE .......................................... 65P ARTE 2 S AMPLO você SE C ASE .......................................... 65P ARTE 2 S AMPLO você SE C ASE .......................................... 65P ARTE 2 S AMPLO você SE C ASE .......................................... 65P ARTE 2 S AMPLO você SE C ASE .......................................... 65P ARTE 2 S AMPLO você SE C ASE .......................................... 65
4 Construção de uma aplicação 674 Construção de uma aplicação 67
4.1 O que você está indo para construir? 68
Usando um tablet ou telefone 69 ■ Os pontos de recolha 69 Realizando Usando um tablet ou telefone 69 ■ Os pontos de recolha 69 Realizando Usando um tablet ou telefone 69 ■ Os pontos de recolha 69 Realizando 
edição desconectado 69
4.2 Trabalhando com ArcGIS Online 70
ArcGIS Online vs. ArcGIS Server 70 ■ A criação de uma conta do ArcGIS Online 71 ■ Definindo ArcGIS Online vs. ArcGIS Server 70 ■ A criação de uma conta do ArcGIS Online 71 ■ Definindo ArcGIS Online vs. ArcGIS Server 70 ■ A criação de uma conta do ArcGIS Online 71 ■ Definindo ArcGIS Online vs. ArcGIS Server 70 ■ A criação de uma conta do ArcGIS Online 71 ■ Definindo ArcGIS Online vs. ArcGIS Server 70 ■ A criação de uma conta do ArcGIS Online 71 ■ Definindo 
um serviço de recurso de 72 Acessando o serviço de recurso ArcGIS Online 77
www.it-ebooks.info
CONTEÚDO ix
4.3 A construção de uma aplicação no mundo real 77
Configurando Dojo e organização de módulos de 78 ■ Amarrando a aplicação em Configurando Dojo e organização de módulos de 78 ■ Amarrando a aplicação em Configurando Dojo e organização de módulos de 78 ■ Amarrando a aplicação em 
conjunto 83
4.4 Adição de camadas e usando o processador 87
Adicionando camadas com um módulo 87 ■ Usando o processador 90 Aplicando o Adicionando camadas com um módulo 87 ■ Usando o processador 90 Aplicando o Adicionando camadas com um módulo 87 ■ Usando o processador 90 Aplicando o 
renderizador 91 ■ Configurar as ferramentas de edição 92 Atribuindo uma ação a um renderizador 91 ■ Configurar as ferramentas de edição 92 Atribuindo uma ação a um renderizador 91 ■ Configurar as ferramentas de edição 92 Atribuindo uma ação a um 
botão 95
4.5 Resumo 99
5 Desenvolver um aplicativo personalizado de recolha de dados 1015 Desenvolver um aplicativo personalizado de recolha de dados 101
5.1 Realizando mapa web padrão edição 102
Encontrar informações sobre o serviço recurso 104 ■ Adicionando o serviço de recurso para o Encontrar informações sobre o serviço recurso 104 ■ Adicionando o serviço de recurso para o Encontrar informações sobre o serviço recurso 104 ■ Adicionando o serviço de recurso para o 
mapa 105 ■ Adicionando os TemplatePicker e editor padrão de widgets 109mapa 105 ■ Adicionando os TemplatePicker e editor padrão de widgets 109mapa 105 ■ Adicionando os TemplatePicker e editor padrão de widgets 109
5.2 Construir uma ferramenta de edição personalizado 113
Trabalhando com a funcionalidade de edição personalizado 114 ■ Refinando a ferramenta de edição Trabalhando com a funcionalidade de edição personalizado 114 ■ Refinando a ferramenta de edição Trabalhando com a funcionalidade de edição personalizado 114 ■ Refinando a ferramenta de edição 
personalizado 120
5.3 Activar edição desconectado 125
O armazenamento local 126 ■ avisos 134 ■ Outras opções de armazenamento 134O armazenamento local 126 ■ avisos 134 ■ Outras opções de armazenamento 134O armazenamento local 126 ■ avisos 134 ■ Outras opções de armazenamento 134O armazenamento local 126 ■ avisos 134 ■ Outras opções de armazenamento 134O armazenamento local 126 ■ avisos 134 ■ Outras opções de armazenamento 134
5.4 Resumo 134
6 Construindo um aplicativo navegador de desktop 1356 Construindo um aplicativo navegador de desktop 135
6.1 O projeto frente 136
Objectivos do RequestViewer 136 ■ Liberdade de navegador no desktop 136Objectivos do RequestViewer 136 ■ Liberdade de navegador no desktop 136Objectivos do RequestViewer 136 ■ Liberdade de navegador no desktop 136
6.2 Instalação e configuração do RequestViewer 138
Criando index.html 138 ■ Configurando run.js 138 Iniciando o RequestViewer 139 ■ Criando index.html 138 ■ Configurando run.js 138 Iniciando o RequestViewer 139 ■ Criando index.html 138 ■ Configurando run.js 138 Iniciando o RequestViewer 139 ■ Criando index.html 138 ■ Configurando run.js 138 Iniciando o RequestViewer 139 ■ 
Definindo serviços de mapas 140 Configurar o controlador de aplicação 140
6.3 Criação de autenticação com o OAuth 2.0 142
Usando sua conta de desenvolvedor para criar um aplicativo 142 Atualização 
main.js 145 ■ Salvando as credenciais 146main.js 145 ■ Salvando as credenciais 146main.js 145 ■ Salvando as credenciais 146
6.4 Construção da interface de utilizador 152
Trabalhando com o widget de medição 152 ■ Trabalhando com o widget Trabalhando com o widget de medição 152 ■ Trabalhando com o widget Trabalhando com o widget de medição 152 ■ Trabalhando com o widget 
BasemapToggle 157
www.it-ebooks.info
CONTEÚDOX
6.5 Edição solicita 159
Editar a localização de um pedido 159 ■ Edição de atributos de um pedido de 163 ■ Incorporando Editar a localização de um pedido 159 ■ Edição de atributos de um pedido de 163 ■ Incorporando Editar a localização de um pedido 159 ■ Edição de atributos de um pedido de 163 ■ Incorporando Editar a localização de um pedido 159 ■ Edição de atributos de um pedido de 163 ■ Incorporando Editar a localização de um pedido 159 ■ Edição de atributos de um pedido de 163 ■ Incorporando 
um serviço não espacial 168
6.6 Resumo 173
7 técnicas avançadas 1757 técnicas avançadas 175
7.1 Usando um arquivo de configuração único 176
Definindo um mapa 176 ■ Carregando o widget Geocoder 180 Olhando para os Definindo um mapa 176 ■ Carregando o widget Geocoder 180 Olhando para os Definindo um mapa176 ■ Carregando o widget Geocoder 180 Olhando para os 
padrões 182
7,2 widget de carga dinâmico 182
caminho widget e opções 182 ■ Construindo um carregador Widget 183 Testando o caminho widget e opções 182 ■ Construindo um carregador Widget 183 Testando o caminho widget e opções 182 ■ Construindo um carregador Widget 183 Testando o 
carregador Widget 185 ■ Adicionando elementos HTML 186carregador Widget 185 ■ Adicionando elementos HTML 186carregador Widget 185 ■ Adicionando elementos HTML 186
7.3 Adicionando um mapa da web 189
Criando o mapa web 189 ■ Adicionando o mapa da web para uma aplicação 193 ■ Usando Criando o mapa web 189 ■ Adicionando o mapa da web para uma aplicação 193 ■ Usando Criando o mapa web 189 ■ Adicionando o mapa da web para uma aplicação 193 ■ Usando Criando o mapa web 189 ■ Adicionando o mapa da web para uma aplicação 193 ■ Usando Criando o mapa web 189 ■ Adicionando o mapa da web para uma aplicação 193 ■ Usando 
a especificação mapa da web 197
7.4 As técnicas avançadas de modo offline 204
Criando um cache de aplicativo 204 ■ Armazenar dados localmente com a biblioteca Criando um cache de aplicativo 204 ■ Armazenar dados localmente com a biblioteca Criando um cache de aplicativo 204 ■ Armazenar dados localmente com a biblioteca 
PouchDB 208
7.5 Resumo 214
Apêndice A: Configurando o ambiente de 215 Apêndice B: 
Dojo básico 217 Apêndice C: Configurando um proxy 225
índice 227
www.it-ebooks.info
XI
prefácio
A última década assistiu a um boom de pessoas se tornar aclimatados a tecnologia de localização. A maioria dos usuários 
podem não perceber plenamente que eles estão usando tecnologia de localização quando receber um alerta em seu telefone 
que não há tráfego no caminho de casa, ou quando eles obter um cupom de um aplicativo em seu telefone para um 
restaurante local. telefones inteligentes não são mais simplesmente dispositivos para fazer chamadas telefônicas, mensagens 
de texto, e verificar e-mail. Para muitas pessoas, eles não só tenha substituído o livro mapa pesado e desajeitado que seu 
passageiro usado para ajudá-lo a navegar, mas esses “telefones” também têm substituído os sistemas indash GPS caros em 
nossos veículos. É tão fácil hoje para dizer o nome de uma loja ou local em seu telefone, e em segundos receber turn-by-turn. 
Isso não quer dizer que essas orientações não pode tentar direcioná-lo para um lago, mas não há como negar que a 
tecnologia de localização tornou-se parte de nossas vidas diárias. Temos o prazer de compartilhar nossos locais atuais com 
amigos e familiares com tanto fervor como quando compartilhou uma foto de alguns anos atrás. Mapas e as informações que 
eles podem transmitir são ótimas ferramentas que os desenvolvedores devem ter tempo para aprender a usar.
Alguns anos atrás, eu estava encarregado de atualizar um aplicativo GIS corporativo e trazê-lo para a era do 
mainframe não-moderna. Esri tinha acabado de começar liberando Web APIs para uso com sua tecnologia. Na 
época, eu construí a minha candidatura com a API do Flex, e eu mergulhou fundo no mundo do ActionScript e 
desenvolvimento modular Flex, mas sempre me senti um pouco pesada.
Com o tempo, a Esri JavaScript API tornou-se mais atraente. Ele teve um desempenho melhor a cada 
lançamento e ofereceu novos recursos que trabalharam com as últimas atualizações do ArcGIS Server. Em algum 
momento, meu foco mudou inteiramente de desenvolvimento Flex para JavaScript, e eu mergulhei em cada canto e 
recanto da API.
www.it-ebooks.info
PREFÁCIOxii
Eu tive o prazer ao longo dos anos de construção de inúmeras aplicações com a API do ArcGIS para JavaScript, 
mesmo construir um negócio em torno de criar aplicativos de mapeamento da web. Tentei seguir cada corcunda 
aprendizagem com um blog ou uma apresentação para compartilhar o que eu aprendi. Esta é a minha maneira de 
pagá-lo frente-pagá-lo para a frente para todos os posts que passou noites final cavar através de, simplesmente para 
corrigir alguns bugs estranhos ou resolver um problema que eu estava pronto para desistir, e para todas as 
apresentações que eu participou que me inspirou para construir e aprender, para criar ferramentas úteis e aplicações, e 
se esforçar para aprender o que eu nem sabia que eu queria ou precisava aprender. Este livro reúne o conhecimento que 
eu ganhei e coloca tudo em um só lugar. Eu espero que você goste de ler este livro tanto quanto eu tinha de escrevê-lo.
Eu também espero que você tome as bases estabelecidas aqui para explorar o que pode fazer com o mapeamento web com a 
API do ArcGIS para JavaScript e construir algumas coisas muito legais. Porque, como desenvolvedores, não é isso que todos nós 
queremos fazer? Basta construir.
www.it-ebooks.info
xiii
reconhecimentos
Há muitas pessoas para agradecer, sem cuja ajuda e apoio este livro não teria sido possível.
Eu gostaria de agradecer as pessoas no Esri que me forneceram com grande feedback sobre o assunto: Jim 
Barry, Derek Swingley, Andy Gup, Jeremy Bartley, e todos na API JavaScript e equipe de servidores que respondeu 
uma das minhas numerosas perguntas.
Graças à Early Access Program Manning (MEAP) leitores que postaram comentários e correções no fórum 
on-line Autor. Obrigado também a todos os usuários que forneceram feedbacks: Adam Krein, Alexander Jones, 
Andrea Tarocchi, Brandon Tito, Cliff Zhao, David Takahashi, Dennis Sellinger, Jaclynn Wilson, Shaun Langley, Tim 
Djossou e Vidyasagar Nallapati.
Eu gostaria de agradecer a toda a equipe editorial Manning por me ajudar a cada passo do caminho ao escrever 
este livro. Meu editor de desenvolvimento, Susan Conant, me ajudou a debater ideias para este livro e foi rápido 
para responder a todas as minhas perguntas e me mostre como ensinar, não conte. Brian Arnold, revisor técnico, 
desde a orientação técnica incrivelmente completa na revisão do código para este livro.
Eu também gostaria de agradecer aos meus pais por sempre acreditar em mim e me apoiar quando eu precisava 
dele mais. Um agradecimento especial à minha esposa Zenayda, que tem sido a minha rocha desde que nos 
conhecemos, e que me empurra para ser melhor em uma base diária. Obrigado aos meus três filhas Andrea, Zoe, e 
Abbey Rosa, que me ensinaram a paciência que só um pai de filhas pudessem entender.
www.it-ebooks.info
xiv
sobre este livro
A API do ArcGIS para JavaScript é uma biblioteca construída para trabalhar lado a lado com as tecnologias ArcGIS Server. Ele foi 
projetado para fornecer uma ampla gama de ferramentas que permitem que um desenvolvedor para construir tudo, desde a mais 
simples aplicação web-mapeamento para uma ferramenta muito utilizada e rica em recursos. O que você decidir construir é até 
você e as necessidades de seus usuários, mas tem sido minha experiência que a API do ArcGIS para JavaScript pode atender a 
maioria das expectativas.
Este livro, ArcGIS Desenvolvimento Web, é uma introdução à API do ArcGIS para JavaScript, com um pouco de Este livro, ArcGIS Desenvolvimento Web, é uma introdução à API do ArcGIS para JavaScript, com um pouco de Este livro, ArcGIS Desenvolvimento Web, é uma introdução à API do ArcGIS para JavaScript, com um pouco de 
informação extra acionada para levá-lo até a velocidade com o Dojo Toolkit que a API é construído.
Há uma variedade de bibliotecas de mapeamento da web disponíveis, ea API do ArcGIS para JavaScript é 
projetado para tirar vantagem da tecnologia fornecida pelo ArcGIS Server e ArcGIS Online, os quais serão discutidos 
neste livro. 
Roteiro
Desenvolvimento Web ArcGIS é dividido em duas partes: “ArcGIS JavaScript Foundation” e “Uma amostra de Caso de Desenvolvimento Web ArcGIS é dividido em duas partes: “ArcGIS JavaScript Foundation” e “Uma amostra de Caso de 
Uso” Se você já está familiarizado com GIS e só quero aprender a usar a API do ArcGIS para JavaScript, você pode 
ser tentado a pular Parte 1 inteiramente . Eu recomendo fortemente, porém, que você pelo menos se familiarizar como capítulo 3, que abrange o ArcGIS API REST.
A primeira parte do livro é uma introdução a alguns conceitos fundamentais de GIS e termos usados ​​ao longo 
do livro. Até o final da parte 1, você terá uma compreensão sólida da API ArcGIS Server REST, que é a força motriz 
para tecnologias web ArcGIS e conceitos fundamentais da API do ArcGIS para JavaScript.
www.it-ebooks.info
SOBRE ESTE LIVRO xv
■
No capítulo 1, você vai aprender como GIS pode ser usado como uma ferramenta e a importância das aplicações espaciais.
■
No capítulo 2, você vai construir o seu primeiro mapa e aprender as noções básicas de dados espaciais e como consultar esses 
dados.
■
No capítulo 3, você vai aprender o básico da API ArcGIS Server REST e ser dada uma amostra de como usá-lo para 
construir um widget lenda personalizado. Este é também o primeiro mergulho em usar o sistema de carregamento 
Dojo AMD.
A segunda parte do livro percorre um aplicativo de coleta de campo da amostra, que também fornece algumas dicas 
sobre edição desconectados para aplicações móveis. Na parte 2 você vai aprender como estruturar uma aplicação 
escalável, construir uma aplicação datacollection móvel-friendly, e até mesmo aprender algumas técnicas avançadas 
para edição desconectada:
■
No capítulo 4, você poderá configurar uma conta do ArcGIS Online e aprender a usar Dojo para construir sua 
aplicação.
■
No capítulo 5, você vai aprender a editar recursos no mapa e usar a autenticação para garantir a sua 
aplicação, bem como a forma como você pode usar LocalStorage para permitir a edição desconectado.
■
No capítulo 6, você vai se concentrar em construir um aplicativo para uso em um navegador de desktop, 
libertando-o de algumas limitações de um ambiente móvel. Você também vai aprender a usar o OAuth 2.0 com 
ArcGIS Online e armazenar suas credenciais para permitir aos usuários entrar e sair. Este capítulo também 
aborda como integrar os dados coletados em campo com alguns dados não-espaciais.
■
No capítulo 7, você será introduzido para temas e técnicas mais avançadas. Você vai aprender sobre a 
especificação ArcGIS WebMap e como usá-lo para configurar o seu mapa. Você também vai aprender como 
construir seu aplicativo inteiro de um único arquivo JSON que irá configurar os seus widgets para você. Este 
capítulo também irá descrever uma alternativa para edição desconectado usando uma biblioteca chamada 
PouchDB. Finalmente, existem três apêndices que contêm informações de apoio. Apêndice A fornece algumas 
opções de ambiente de desenvolvimento disponíveis para escrever e executar o código neste livro. Apêndice B é 
provavelmente o apêndice mais valiosa neste livro, uma vez que abrange conceitos básicos do Dojo Toolkit que 
são indispensáveis ​​para o uso da API do ArcGIS para JavaScript.
Convenções de código e downloads
Todo o código fonte em listas ou de texto está em uma fonte de largura fixa como este para separá-lo do texto comum. Todo o código fonte em listas ou de texto está em uma fonte de largura fixa como este para separá-lo do texto comum. Todo o código fonte em listas ou de texto está em uma fonte de largura fixa como este para separá-lo do texto comum. 
anotações de código acompanham muitas das listagens, destacando conceitos importantes. Em alguns casos, balas 
numeradas conectar-se a explicações que seguem a listagem.
www.it-ebooks.info
SOBRE ESTE LIVROxvi
O código-fonte para os exemplos no livro pode ser baixado do site da editora em www.manning.com/ArcGISWebDevelopmentO código-fonte para os exemplos no livro pode ser baixado do site da editora em www.manning.com/ArcGISWebDevelopment
.
Autor on-line
Compra de Desenvolvimento Web ArcGIS inclui acesso gratuito a um fórum web privada dirigida por Manning Compra de Desenvolvimento Web ArcGIS inclui acesso gratuito a um fórum web privada dirigida por Manning Compra de Desenvolvimento Web ArcGIS inclui acesso gratuito a um fórum web privada dirigida por Manning 
Publications, onde você pode fazer comentários sobre o livro, fazer perguntas técnicas e receber ajuda de autor e de 
outros usuários. Para acessar o fórum e subscrevê-lo, aponte seu navegador da Web para Desenvolvimento outros usuários. Para acessar o fórum e subscrevê-lo, aponte seu navegador da Web para Desenvolvimento 
www.manning.com/ArcGISWeb . Esta página fornece informações sobre como obter no fórum uma vez que você www.manning.com/ArcGISWeb . Esta página fornece informações sobre como obter no fórum uma vez que você 
está registrado, que tipo de ajuda está disponível, e as regras de conduta no fórum.
O compromisso da Manning para os nossos leitores é fornecer um local onde um diálogo significativo entre 
leitores individuais e entre leitores e o autor pode ter lugar. Não é um compromisso com qualquer quantidade 
específica de participação por parte do autor, cuja contribuição para o fórum do livro continua a ser voluntária (e não 
remunerado). Sugerimos que você tente perguntar-lhe algumas perguntas desafiadoras, para que as suas estáticas 
de juros!
O Autor fórum on-line e os arquivos de discussões anteriores será acessível a partir do site do autor, desde que 
o livro é publicado.
Sobre a ilustração da capa
A figura na capa de Desenvolvimento Web ArcGIS é subtitulado “La Demoiselle de Compagnie”, uma jovem que A figura na capa de Desenvolvimento Web ArcGIS é subtitulado “La Demoiselle de Compagnie”, uma jovem que A figura na capa de Desenvolvimento Web ArcGIS é subtitulado “La Demoiselle de Compagnie”, uma jovem que 
serve como um companheiro para uma mulher mais velha e mais wellto-do da aristocracia ou burguesia; ou como 
um acompanhante para uma mulher jovem, solteira, que não podia sair desacompanhado. A ilustração é tirado de 
uma edição do compêndio de quatro volumes de Sylvain Maréchal de costumes vestido regional publicados na 
França do século XIX. Cada ilustração é finamente desenhadas e coloridas à mão. A rica variedade da coleção de 
Maréchal nos lembra vividamente de como culturalmente distintos cidades e regiões do mundo eram apenas 200 
anos atrás. Isolados uns dos outros, as pessoas falavam diferentes dialetos e línguas. Nas ruas ou no campo, era 
fácil identificar onde viviam eo que seu comércio ou estação na vida era apenas por seu vestido.
Os códigos de vestuário mudaram desde então ea diversidade por região, tão rica no momento, desapareceu. 
Agora, é difícil distinguir os habitantes de diferentes continentes, e muito menos diferentes cidades ou regiões. 
Talvez tenhamos negociado diversidade cultural para um pessoal mais variada vida certamente-para uma vida 
tecnológico mais variada e acelerado.
Numa altura em que é difícil distinguir um livro de computador de outro, Manning celebra a criatividade e 
iniciativa do negócio de computadores com capas de livros baseados na rica diversidade da vida regional dos dois 
séculos atrás, trouxe de volta à vida por fotos de Maréchal.
www.it-ebooks.info
Parte 1 
ArcGIS JavaScript
Fundação
P arte um deste livro apresenta alguns dos principais conceitos de GIS e termos usados ​​ao longo do P arte um deste livro apresenta alguns dos principais conceitos de GIS e termos usados ​​ao longo do 
livro. Até o final desta parte, você terá uma compreensão sólida da API ArcGIS Server REST, que é a força 
motriz para tecnologias web ArcGIS e conceitos fundamentais da API do ArcGIS para JavaScript, bem como 
a forma como os dados espaciais são fornecidos para web aplicações:
■
No capítulo 1, você aprenderá como usar o GIS como ferramenta e a importância das aplicações 
espaciais.
■
No capítulo 2, você vai construir o seu primeiro mapa e aprender as noções básicas de dados espaciais e como 
consultar esses dados. Você também vai aprender os detalhes de como um FeatureLayer funciona e como ele é 
otimizado para desempenho.
■
No capítulo 3, você vai aprender o básico da API ArcGIS Server REST e ser dada uma amostra de 
como usá-lo para construir um widget lenda personalizado. Este étambém o primeiro mergulho em usar 
o sistema de carregamento Dojo AMD e modularizing sua aplicação.
www.it-ebooks.info
2 C APÍTULO
www.it-ebooks.info
3
GIS como uma ferramenta
Onde estamos, e nossa compreensão da localização, tem um impacto sobre nossas vidas diárias. Caminhe em 
torno de quase qualquer espaço público e você verá as pessoas olhando para seus smartphones, atualizando 
seus status, ou que procuram o mais próximo taco joint. Você pode ter comprado para uma casa online, e foi 
capaz de ver as casas em sua área e até mesmo ver as escolas próximas. Ao comprar um carro em linha, 
normalmente você pode limitar a pesquisa a dentro tantas milhas de um código postal. Anteriormente, um livro 
mapa papel essencial em todos os veículos, mas hoje, os motoristas manter um GPS (Sistema de 
Posicionamento Global) no painel ou ter um sistema que lhes fala, direcionando-os quando virar. Se você está 
seguindo as instruções em papel, as chances são que você imprimiu-los a partir de um mapa online. Localização 
tornou-se um componente chave da nossa forma de obter muitas tarefas feito.
Este capítulo cobre
■
O que um sistema de informação geográfica (GIS) é e como ele é 
usado
■
A importância das aplicações espaciais
■
Tendências para profissionais e oportunidades para iniciantes
■
Partes de um aplicativo web GIS
www.it-ebooks.info
4 CAPÍTULO 1 GIS como uma ferramentaCAPÍTULO 1 GIS como uma ferramenta
maneiras sutis. ArcGIS, um tema central deste livro, é uma plataforma de sistema de informação geográfica (GIS) que 
permite aos usuários trabalhar com mapas e informações geográficas. Com ele, os usuários podem criar e usar mapas, 
reunir e analisar dados geográficos, e usar esses dados em uma variedade de aplicações.
Este capítulo dá-lhe uma visão geral das peças-chave da informação neste livro:
■
A plataforma ArcGIS
■
Por que você deve considerar aprender como adicionar recursos espaciais em suas aplicações
■
Benefícios da API do ArcGIS para JavaScript
■
Dojo Toolkit e como ela se relaciona com a API do ArcGIS para JavaScript
■
conceitos SIG úteis
Volumes foram escritos sobre o assunto de GIS sozinho, mas para os nossos propósitos, vou discutir o que GIS meios e 
como as aplicações location-aware impacto nossas vidas diárias.
1.1 GIS: aqui, ali, em toda parte
Durante anos, GIS foi algo usado por acadêmicos e agências governamentais para estudos ou para fins de infra-estrutura. 
SIG é “um sistema projetado para capturar, armazenar, manipular, analisar, gerenciar e apresentar todos os tipos de dados 
geográficos.” 1 GIS é a nossa forma de trabalhar com informação espacial. Também é uma tecnologia que tem sido usado geográficos.” 1 GIS é a nossa forma de trabalhar com informação espacial. Também é uma tecnologia que tem sido usado geográficos.” 1 GIS é a nossa forma de trabalhar com informação espacial. Também é uma tecnologia que tem sido usado 
principalmente no campo dos computadores desktop, com aplicações de grandes empresas que requerem treinamento 
extensivo.
A World Wide Web tem causado uma explosão na maioria das tecnologias de hoje, incluindo o uso de ferramentas de 
SIG. Desde meados da década de 1990, você foi capaz de encontrar endereços e obter direcções a partir de sites como o 
MapQuest. Projetos como o Google Maps e OpenStreetMap surgiu alguns anos mais tarde para trazer GIS para as massas, 
introduzindo o poder de mapas para as pessoas comuns. Esri, fundada em 1969, tem crescido em uma empresa líder que 
fornece ferramentas de SIG e serviços, incluindo uma suite de ferramentas de mapeamento web, que é por isso que você 
está lendo este livro. Antes de dar uma olhada em ofertas de GIS da ESRI, vamos provar as outras ferramentas disponíveis.
1.1.1 O ferramentas de SIG paisagem
Você tem um número de opções quando se trata de desenvolvimento de aplicativos de mapeamento da web com 
JavaScript, incluindo opções de código aberto robustos. Algumas opções vir na forma de uma API, que é uma 
interface para um serviço web subjacente, como mapas e indicações.
1 “Sistema de Informação Geográfica”, Wikipedia, modificada pela última vez 24 de maio de 2014, http://en.wikipedia.org/wiki/1 “Sistema de Informação Geográfica”, Wikipedia, modificada pela última vez 24 de maio de 2014, http://en.wikipedia.org/wiki/1 “Sistema de Informação Geográfica”, Wikipedia, modificada pela última vez 24 de maio de 2014, http://en.wikipedia.org/wiki/
Sistema de Informações Geográficas .Sistema de Informações Geográficas .
www.it-ebooks.info
5GIS: aqui, ali, em toda parte
Google e MapQuest fornecer APIs de mapeamento web que são populares para incorporar mapas e indicações em sites. 
Microsoft oferece um mapeamento de API Bing para mostrar seus dados de mapeamento. Várias bibliotecas de mapeamento 
de código aberto também têm muito a oferecer:
■
OpenLayers -A biblioteca de mapeamento de fonte aberta popular com uma grande comunidade de usuáriosOpenLayers -A biblioteca de mapeamento de fonte aberta popular com uma grande comunidade de usuários
■
Folheto -A biblioteca de mapeamento que tem crescido em popularidade devido à sua facilidade de uso e foco no Folheto -A biblioteca de mapeamento que tem crescido em popularidade devido à sua facilidade de uso e foco no 
desempenho para navegadores móveis
■
Mapas modestos -A biblioteca mapeamento super-leve, que faz um bom trabalho de exibir mapas interativosMapas modestos -A biblioteca mapeamento super-leve, que faz um bom trabalho de exibir mapas interativos
Esta lista é uma amostra de opções de código aberto para a construção de aplicativos de mapeamento web, e eu 
encorajo-vos a experimentá-los. A explosão de mapeamento no navegador só tem aumentado a importância da localização 
para os usuários todos os dias. Pessoalmente, quando estou fora executando recados, meu telefone me mantém atualizado a 
respeito de quanto tempo vai levar-me para chegar em casa com base na minha localização e de tráfego atuais condições. 
Isso é locationawareness pura em ação.
GIS desempenha um grande papel em muitas áreas da tecnologia. Conhecer a localização de algo pode ser crítica 
em sistemas de gestão de ativos grandes que rastreiam construção e manutenção de informações de certas 
infra-estruturas, como água e energia. GIS é comumente usado no crime análises para ajudar as autoridades policiais 
locais concentrar seus recursos. GIS também é usado para projetar o crescimento da população em áreas urbanas para 
ajudar a determinar as necessidades de infraestrutura futuras. GIS é usado para ajudar o público quando ocorre uma 
catástrofe, por exemplo, mapeando os danos após tempestades e inundações.
Considerando os vários APIs de mapeamento web disponíveis para outros do que a API do ArcGIS para 
JavaScript desenvolvedores, como OpenLayers e Folheto, você quer saber qual é a melhor escolha: proprietário ou 
aberto. Esta decisão pode depender de muitos fatores, mas geralmente se resume a preferência. Você está 
trabalhando com dados armazenados em um banco de dados ArcGIS existente? Você está trabalhando com serviços 
em uma ArcGIS Server existente? É todo o ecossistema GIS sendo construído a partir do zero? Qual é o orçamento? 
Há diretrizes regulatórias sobre fornecedores? Você precisa de suporte ao cliente on-call? Existem diferentes 
vantagens e desvantagens de cada escolha. Alguns desses prós e contras estão listadas na tabela 1.1.
O que exatamente é um serviço web?
O World Wide Web Consortium (W3C) define um serviço web como “um meio padrão de interoperabilidade entre 
diferentes aplicações de software, rodando em uma variedade de plataformas e / ou frameworks.” umadiferentes aplicações de software, rodando em uma variedade de plataformas e / ou frameworks.” uma
uma “Os serviços da Web Arquitetura,” W3C Web Services Architecture Grupo de Trabalho, última modificação Feb uma “Os serviços da Web Arquitetura,” W3C Web Services Architecture Grupo de Trabalho, última modificação Feb 
2004 www.w3.org/TR/ws-arch/2004www.w3.org/TR/ws-arch/
www.it-ebooks.info
6 CAPÍTULO 1 GIS como uma ferramentaCAPÍTULO 1 GIS como uma ferramenta
Como a maioria dos debates opensource, a questão de se usar um web mapeamento API proprietária ou opensource pode 
obter aquecida. Na minha experiência, geralmente se resume ao que é actualmente em vigor e que você está disposto a 
gastar para obter algo feito rapidamente. Este livro assume que você, como um desenvolvedor, estão trabalhando com 
ArcGIS Server ou serviços do ArcGIS Online, por isso faz sentido para você trabalhar com a API do ArcGIS para JavaScript. 
Esta API não é um conjunto de ferramentas de código aberto, mas foi desenvolvido pela Esri, líder em tecnologias de GIS. 
É uma biblioteca poderosa construída para interagir com ArcGIS Server.
1.1.2 Apresentando a plataforma ArcGIS
ArcGIS é uma plataforma para fornecer ferramentas baseadas em localização e funcionalidades que vão desde a área de trabalho 
para o servidor e móvel. A API do ArcGIS para JavaScript trabalha com ArcGIS Server, uma porta de entrada para dados GIS que 
pode ser compartilhado na web para fornecer acesso a dados GIS através de serviços web. Eu vou discutir esses serviços em mais 
pormenor no capítulo 2, mas por agora, tudo o que você precisa saber é que a API do ArcGIS para JavaScript é projetado para 
interagir com esses serviços para que você pode construir aplicativos de mapeamento web poderosos.
GORJETA Antes de eu entrar em detalhes sobre a API do ArcGIS para JavaScript, você pode querer GORJETA Antes de eu entrar em detalhes sobre a API do ArcGIS para JavaScript, você pode querer 
visitar http://esriurl.com/js para uma visão geral dos exemplos de código e os materiais de referência. Este visitar http://esriurl.com/js para uma visão geral dos exemplos de código e os materiais de referência. Este visitar http://esriurl.com/js para uma visão geral dos exemplos de código e os materiais de referência. Este 
livro não regurgitar a documentação, mas a documentação é o material fonte para a API e será uma 
importante fonte de informações em sua exploração da API do ArcGIS para JavaScript.
A API do ArcGIS para JavaScript é uma escolha natural se você estiver trabalhando com o ArcGIS Server. A API JavaScript 
traduz perfeitamente as informações do ArcGIS Server para fornecer uma rica experiência de mapeamento web. Figura 1.1 
mostra como os dados GIS que antes era acessível apenas para alguns usuários podem agora ser compartilhado usando 
ArcGIS Server e a API do ArcGIS para JavaScript.
O objetivo deste livro é apresentar-lhe as noções básicas da API do ArcGIS para JavaScript e como usar a API para 
interagir com vários serviços do ArcGIS. Você também vai ver como interagir diretamente com o ArcGIS Server, se você precisar 
de informações que você não pode facilmente usar a API para, e você vai aprender como estender a API para construir suas 
próprias ferramentas para atender às suas necessidades.
A segunda metade do livro aborda como construir um aplicativo de mapeamento web mais envolvido que coleta 
dados em uma aplicação em campo. O termo “campo”, neste contexto,
Tabela 1.1 Prós e contras de mapeamento web proprietárias e de código aberto
proprietário Código aberto
Custo Infra-estrutura pode ficar caro, mas API é livre 
de custos
Infra-estrutura e API são livres de custo
Suporte da comunidade Disponível em fóruns Esri bastante extensa
apoio profissional Disponível com licenciamento ArcGIS Pode ser comprado de vários fornecedores
www.it-ebooks.info
7GIS: aqui, ali, em toda parte
significa “não atrás de uma mesa.” aplicações de campo apresentam seus próprios desafios, que eu vou cobrir em 
capítulos posteriores.
NOTA Vou cobrir aspectos de como usar os serviços do ArcGIS Server com a API, mas não vou cobrir como NOTA Vou cobrir aspectos de como usar os serviços do ArcGIS Server com a API, mas não vou cobrir como 
instalar o ArcGIS Server (que não é necessário para este livro), publicar serviços, ou criar serviços usando 
ArcGIS para Desktop. 
Por agora, vamos ampliar a discussão para falar mais sobre o que são aplicações espaciais e como a internet 
mudou o que esperar destas aplicações. Como desenvolvedores (iniciante ou avançado), o que faz GIS trazer para 
a mesa e por que você deveria se preocupar?
1.1.3 Por que se preocupam com aplicações espaciais?
Meu primeiro carro era pequeno, ele era velho, e ele estava enferrujado, mas era meu, e eu estava animado para ter o meu próprio 
passeio à escola, algo que eu acho que meus pais foram animado sobre bem. A primeira coisa que meu pai me deu quando eu 
tenho o meu carro, depois de uma breve palavra ainda popa de cautela sobre ser um condutor seguro, era um livro mapa 
desajeitado e pesado. Quando criança, eu
Um olhar em frente
No capítulo 4, você vai configurar uma conta de desenvolvedor ArcGIS livre assim que você pode criar seus próprios serviços 
para uso em sua aplicação. Você também vai usar serviços gratuitos de ArcGIS Online, uma versão baseada em nuvem do 
ArcGIS Server.
ArcGIS Server
ArcGIS API para 
JavaScript 
A API do ArcGIS para JavaScript faz o 
trabalho de mapa exibindo
serviços no navegador.
ArcGIS Server é um gateway para a visualização de 
dados GIS em clientes externos
como um navegador da web. dados GIS 
normalmente reside em um banco de dados 
e não é diretamente
acessíveis à web.
dados 
GIS
Figura 1.1 Produção de mapas com ArcGIS API para JavaScript
www.it-ebooks.info
8 CAPÍTULO 1 GIS como uma ferramentaCAPÍTULO 1 GIS como uma ferramenta
lembre-se sentado no banco de trás do carro em viagens longas, e meu dever era para virar periodicamente as páginas de 
um livro mapa idênticos e apontar o que a cidade estava vindo para cima ou quantas ruas que precisávamos para passar 
antes de fazer uma curva à direita. I utilizado para se maravilhar com o detalhe cada página fornecido, a partir das estradas 
sinuosas que já tinha viajado para os próximos colinas eu poderia olhar para frente. O livro mapa era um grampo em minhas 
viagens, bem como as viagens de muitos outros.
Estes dias você não pode confiar em tijolos de espiral de papel para navegar a estrada, mas muitas pessoas não 
contam com GPS, ou em um smartphone ou no carro. Se você estiver usando um mapa em papel, você provavelmente 
impresso-lo de um site e dobrou-a em seu bolso para uso posterior.
A navegação não é a única maneira que nossa sociedade de consumo de informações usa informações espaciais em 
nossas vidas diárias. Durante anos, a indústria de varejo tem usado a sua localização para publicidade segmentada. A partir de 
algo tão simples como os anúncios de papel que enchem sua caixa de correio, para um aplicativo no seu smartphone que pode 
dar-lhe um cupom para um restaurante nas proximidades, sem a sua pedindo por isso, a localização pode ser um componente 
chave para segmentar um público de uma forma significativa. Estamos constantemente a compartilhar mensagens, fotos e 
vídeos através de dispositivos móveis, e cada um desses bits de informação que compartilhamos carregam com eles as 
informações de localização. Você pode até mesmo jogar jogos em seu smartphone que interagem com a sua localização, 
usando ruas do mundo real para direcioná-lo para a vitória. Quando um novo restaurante de fast-food é construído, tempo foi 
colocado em analisar os benefícios da colocação de que o restaurante no local. Um estudo provavelmente foi feito para rever os 
dados demográficos da área (por exemplo, a renda familiar média), a proximidade de auto-estradas ou estradas principais, 
drive-tempo médio de grandes áreas de negócios e muito mais. Análises semelhantes também são feitas quando novas escolas 
são construídas ou novas estradas são pavimentadas. No final do dia, localização importa.
1.1.4 tendências na indústria de GIS
Anteriormente, as pessoas que trabalharam na indústria do GIS necessárias as habilidades não só para analisar os 
dados, mas também a empregar cartografia paraexibir esses dados. Hoje, os profissionais de GIS são normalmente 
obrigados a ter um conjunto de habilidades expandida que lhes permite adaptar-se aos desafios que enfrentam, mas 
eles não precisam ser versado em todos os aspectos do uso de GIS. Profissionais que preferem se concentrar em 
um aspecto particular do GIS pode não ter habilidades magistrais cartográficos, rock-star habilidades de análise 
espacial, ou habilidades de desenvolvedor de nível ninja, mas a familiaridade com todos esses conjuntos de 
habilidades é útil. Você já pode estar trabalhando no campo GIS ou você pode ser um estudante ansioso para cortar 
os dentes no mercado de trabalho. Ou talvez você já tenha experiência em trabalhar com aplicações web e 
JavaScript e quer expandir seu conjunto de habilidades com um API de mapeamento web. Seja qual for o caso,
Uma análise superficial dos recentes anúncios de trabalho relacionados com o SIG, revela que os empregadores estão 
procurando funcionários que não só pode analisar e trabalhar com dados, mas também têm conhecimento de programação. 
Habilidades de programação pode incluir uma linguagem como Python, que se consolida no setor de GIS como um grampo 
em automatizar a análise GIS,
www.it-ebooks.info
9Compreender os bits GIS
graças a algumas bibliotecas espaciais robustos. Habilidades também poderia incluir linguagens como C # ou Java, que são 
tipicamente usados ​​para estender ferramentas de desktop ou construir serviços web. Os empregadores também precisam de 
profissionais de GIS atuais e desenvolvedores que podem usar tecnologias web para fornecer acesso rápido e eficiente para grande 
parte dos dados GIS que tem sido tradicionalmente inacessível para o público em geral.
O aspecto de desenvolvimento web de usar GIS é uma área interessante não só para profissionais de GIS, mas também 
para qualquer pessoa aprender desenvolvimento web com mapas. Comecei a trabalhar com GIS no início de 2002 como um 
técnico de elaboração recrutados para fazer o trabalho técnico de GIS para ajudar com vários projetos. Uma das minhas tarefas 
foi ajustando manualmente centenas de pequenos limites. Foi tedioso, e eu não estava familiarizado com as ferramentas, que na 
época variavam de pouco conhecidas ferramentas de desenho para algumas tarefas de linha de comando ímpares. Fui 
convidado para editar arquivos de script que acrescentou novos menus para o software que eu usei, que magicamente procurou 
um banco de dados para obter informações relacionadas. Eu ainda estava verde e não percebeu o poder da automação eu 
estava trabalhando com. Hoje, a maioria do meu tempo é gasto fazendo o desenvolvimento GIS web. I assistir a conferências 
GIS regulares e eventos locais, e ao longo dos anos tenho notado a crescente necessidade de profissionais de GIS para ter uma 
compreensão básica de programação para obter tarefas diárias feito. Eu vi apresentações que incluem não apenas os detalhes 
analíticos da maneira como um projeto foi concluído, mas também as personalizações que foram feitas através de tarefas de 
programação que eram críticos para completar o projeto. Estas personalizações podem ser automatização de tarefas ou o 
desenvolvimento de uma aplicação web para permitir que os interessados ​​em colaborar durante o ciclo de vida do projeto.
O objetivo deste livro é dar-lhe uma base de trabalho sólida em usar a API do ArcGIS para JavaScript para construir 
aplicações web que atendam as necessidades da tarefa em mãos. Este poderia ser um aplicativo que é usado por 
socorristas durante um desastre natural ou um aplicativo de ordem de trabalho para acompanhar o trabalho que está 
sendo feito. Uma aplicação web pode ser usado em um escritório ou em dispositivos móveis, tornando-se uma plataforma 
flexível para trabalhar.
Vamos mudar nosso foco para a estrutura de um aplicativo de mapeamento web GIS.
1.2 Compreender os bits GIS
Vários componentes contribuem para a construção de um aplicativo de mapeamento web. Cada um é crítico para o processo. 
Como se mostra na figura 1.2, todos estes componentes em última análise, levar a uma coisa: um utilizador satisfeito, o que 
significa que os dados são transmitidos de uma forma clara e fornece significado para o utilizador.
ArcGIS Server e 
API REST
dados 
GIS
ArcGIS Flex API
ArcGIS JavaScript API
ArcGIS Silverlight API
usuário feliz
Figura 1.2 As peças que compõem um aplicativo de mapeamento web
www.it-ebooks.info
10 CAPÍTULO 1 GIS como uma ferramentaCAPÍTULO 1 GIS como uma ferramenta
Os dados GIS está por trás do ArcGIS Server. Para chegar a esses dados, você se comunicar com o ArcGIS Server 
por meio de uma coleção de endpoints URL. Você pode se comunicar com estes parâmetros através de uma variedade 
de métodos, como o Silverlight e Flex, mas o foco deste livro é sobre a API do ArcGIS para JavaScript. Este processo 
de comunicação, combinada com suas habilidades impecável, leva a usuários felizes. Este é o método de comunicação 
é chamada de API REST, que é discutido com mais detalhes na seção 1.2.2.
Nesta seção, eu vou apresentá-lo a cada um desses componentes de construção de um aplicativo de mapeamento 
web, começando com o componente-chave: os dados.
1.2.1 O que e a onde de dados GIS
Os dados são o ponto de partida para uma aplicação bem sucedida. Alguém tem que compilar os dados, possivelmente, 
analisar e até mesmo digitalização (o processo de usar ferramentas de desenho) do
dados 
GIS
Tabular
vetores
ruas
ComunidadesTráfego
Terreno
Figura 1.3 ArcGIS Server permite o acesso a dados GIS, que é composto de diferentes tipos de dados, como tabular, vetor, terreno, 
ruas, comunidades, e assim por diante, através de serviços.
www.it-ebooks.info
11Compreender os bits GIS
dados com base em fontes externas. Por exemplo, uma empresa ou agência governamental precisará traduzir velhos mapas, 
desenhados à mão para um formato digital, geralmente parcela ou limites do parque. Os dados muitas vezes é desenhado com base 
em imagens aéreas, tais como locais de árvores ou possíveis rotas para navegar para áreas sem acesso por estrada. antenas 
infravermelhos frequentemente são utilizados para encontrar a vegetação, que aparece em tons de vermelho em uma imagem 
infravermelha. Este método é usado para olhar para a forma como as áreas de mudança da vegetação ao longo de um determinado 
período de tempo. Sem dados, você não teria nada para mostrar em um aplicativo de mapeamento web.
Estes dados podem ser armazenados em alguns formatos, mas geralmente reside em um banco de dados. Independentemente do 
formato, ainda é de dados, e é mais fácil de gerenciar uma grande quantidade de dados quando ele é mantido em um banco de dados. Isso 
permite que ele seja procurou rapidamente, backup, e facilmente compartilhados. Para compartilhar esses dados, você pode imprimir 
mapas de papel ou você pode enviá-lo para trás e em um formato digital. Embora estes ainda são métodos válidos de compartilhamento de 
dados GIS digitais, os usuários esperam ter acesso mais rápido e fácil para este tipo de informação (ver figura 1.3). Este é o lugar onde a 
necessidade de compartilhar esses dados para a web entra em jogo.
Com uma riqueza de dados valiosos para ser compartilhado, o próximo componente crítico de um aplicativo de mapeamento web é 
um servidor web.um servidor web.
1.2.2 Servindo GIS dados: ArcGIS Server e a API REST
O trabalho de um servidor web, como você já deve saber, é para servir os dados de um computador físico para o World Wide 
Web para que as pessoas possam vê-lo em seus navegadores web. Um servidor ArcGISspecific realiza tarefas especializadas, 
tais como servindo imagens aéreas, o que eu vou cobrir brevemente no capítulo 2. compartilhamento de dados on-line é feito 
através de serviços web. Um serviço web é um URL (URL pronunciado) que retorna uma página web, uma imagem, ou outra 
forma de dados. Este livro centra-se em dados que são acessados ​​por meio de serviços ArcGIS Server.ArcGIS Server é um software de servidor da empresa que fornece um método rápido para construir serviços web 
que servem de dados GIS. Ele tem mais funcionalidades do que os dados apenas servindo, que eu vou cobrir em 
capítulos posteriores, mas toda a interação é feita através da API REST (Representational State Transfer), que é uma 
interface para interagir com o servidor (veja a figura 1.4).
ArcGIS Server e 
API REST
dados 
GIS
dados GIS pode conter 
geometrias, imagens, e
informação tabular.
ArcGIS Server permite 
o acesso a dados GIS 
através do
API REST.
Para acessar e processar dados sobre 
ArcGIS Server, você usar os vários serviços 
prestados
pela API REST.
serviço de 
Geoprocessamento serviço 
Característica serviço de mapas
serviço Geocode 
serviço de imagem
Figura 1.4 Dados servido via ArcGIS Server é disponibilizado como vários serviços; cada serviço tem uma finalidade específica.
www.it-ebooks.info
12 CAPÍTULO 1 GIS como uma ferramentaCAPÍTULO 1 GIS como uma ferramenta
Para comunicar adequadamente com o ArcGIS Server API REST, você usa uma API-o próximo componente web 
especialmente concebida de um aplicativo de mapeamento web. 
1.2.3 Escolhendo um web API ArcGIS
A API ArcGIS Server REST é a base para todas as APIs ArcGIS web. Um desenvolvedor tem algumas escolhas ao 
decidir construir uma aplicação web baseada em tecnologia ArcGIS:
■
ArcGIS API para Flex
■
ArcGIS API para o Silverlight
■
ArcGIS API para JavaScript
■
e outros O ArcGIS API para Flex, com base no kit de desenvolvimento de software Flex ( SDK), costumava ser e outros O ArcGIS API para Flex, com base no kit de desenvolvimento de software Flex ( SDK), costumava ser e outros O ArcGIS API para Flex, com base no kit de desenvolvimento de software Flex ( SDK), costumava ser e outros O ArcGIS API para Flex, com base no kit de desenvolvimento de software Flex ( SDK), costumava ser 
um produto da Adobe, mas foi-sourced aberto nos últimos anos. Ele é construído em cima da tecnologia Flash e pode 
ser usado para construir aplicações interativas. O ArcGIS API para o Silverlight utiliza o Microsoft Silverlight para 
construir aplicações que, semelhante à API Flex, podem fornecer aplicações de fluidos e interativos.
As desvantagens para ambas as APIs são de que eles exigem que os usuários tenham um plug-in de navegador instalado para 
cada um deles, e eles não funcionam em todos os navegadores da web em dispositivos móveis. Isto levou muitos desenvolvedores 
a abraçar a API do ArcGIS para JavaScript. JavaScript é executado em todos os navegadores, com pequenas diferenças na forma 
como ele é executado em cada navegador, e também fornece uma aplicação fluida e interativa.
Todas essas APIs web são tradutores para o ArcGIS API REST, e eles tornam mais fácil para interagir com o 
ArcGIS Server para fornecer aplicativos de mapeamento web ricos em dados (ver figura 1.5). As APIs web podem ser 
construídos em diferentes tecnologias, mas uma vez que você aprender uma API, que é fácil de pegar outro sem muita 
dificuldade.
O objetivo final desses vários componentes é fazer com que o usuário do aplicativo feliz. Proporcionar um 
aplicativo de mapeamento fácil de usar web que fornece os dados necessários para o usuário para realizar uma 
tarefa ou encontrar as informações corretas sem tropeçar através da aplicação é a chave para um usuário feliz.
ArcGIS Server e 
API REST
No plug-in 
necessário
Requerem plugins 
do navegador
dados 
GIS
ArcGIS Flex API
ArcGIS JavaScript API
ArcGIS Silverlight API
Figura 1.5 A API do ArcGIS para JavaScript é a única API que não requer um plug-in do navegador.
www.it-ebooks.info
13Coisas para saber
Se você é um GIS profissional experiente olhando para melhorar suas habilidades com JavaScript ou um ninja JavaScript 
que queira adicionar entalhes de mapeamento GIS web ao seu cinto, você vai querer estar familiarizado com alguns itens antes 
de trabalhar com a API do ArcGIS para JavaScript .
1.3 Coisas para saber
Não importa o seu nível de competência em qualquer GIS ou JavaScript, você deve saber algumas coisas antes de 
trabalhar com a API do ArcGIS para JavaScript. Vou cobrir os seguintes tópicos em detalhe nos capítulos 2 e 3, mas eu 
quero tocar com eles brevemente nesta seção para lhe dar uma visão geral do que você precisa saber para trabalhar com 
a API do ArcGIS:
■
estilística JavaScript
■
conceitos de SIG
1.3.1 JavaScript, Dojo Toolkit, e Dijit
Este livro é sobre o uso de JavaScript para construir aplicativos de mapeamento da web, mas você não precisa ser um mestre 
JavaScript para usar este livro. Eu não cobrir explicitamente o que eu considero JavaScript melhores práticas na construção de 
suas aplicações, mas o código que fornecem é escrito em um estilo que eu acho que é mais adequado para a tarefa em mãos. 
Por exemplo, às vezes você usar um único arquivo JavaScript para construir uma aplicação; outras vezes, você carregar até 
meia dúzia de arquivos JavaScript.
Dojo e AMD CARREGAMENTO
o dojo Toolkit é uma biblioteca popular, JavaScript, que oferece muitas ferramentas para escrever JavaScript, em particular o dojo Toolkit é uma biblioteca popular, JavaScript, que oferece muitas ferramentas para escrever JavaScript, em particular o dojo Toolkit é uma biblioteca popular, JavaScript, que oferece muitas ferramentas para escrever JavaScript, em particular 
para aplicações maiores. A API do ArcGIS para JavaScript é baseado em Dojo, por isso é inevitável que você também vai 
aprender Dojo como você começar a usar a API. Dojo fornece um amplo conjunto de ferramentas que você pode usar para 
construir seus aplicativos de mapeamento da web. Eu vou cavar mais fundo em ferramentas Dojo nos capítulos 2 e 3, mas o 
uso do Dojo e como se aplica à API do ArcGIS para JavaScript é algo que você deve estar ciente.
Outro típico escolha estilística JavaScript é a forma como os arquivos são carregados. Uma maneira comum e ainda 
aceitável para carregar arquivos JavaScript para sua página da web é usar um < script>aceitável para carregar arquivos JavaScript para sua página da web é usar um < script>aceitável para carregar arquivos JavaScript para sua página da web é usar um < script>
tag, como segue:
<Script src =”file1.js”> </ script> <script src =”file2.js”> </ 
script> <script src =”file3.js”> </ script>
Carregamento de arquivos JavaScript dessa maneira não é errado, e você precisa de pelo menos um roteiroCarregamento de arquivos JavaScript dessa maneira não é errado, e você precisa de pelo menos um roteiro
tag para carregar um arquivo. Mas, como você pode imaginar, como a aplicação cresce ea quantidade de arquivos 
JavaScript crescer, este método obtém pesado. Sem mencionar que não há nenhuma garantia de que os arquivos 
JavaScript irá carregar na ordem em que você colocá-los na página.
A API do ArcGIS para JavaScript usa um método chamado definição de módulo assíncronaA API do ArcGIS para JavaScript usa um método chamado definição de módulo assíncrona
(AMD), que carrega seus arquivos JavaScript em uma base como-necessário. A razão para usá-lo se resume ao fato 
de que a API do ArcGIS para JavaScript é construído com o Dojo Toolkit.
www.it-ebooks.info
14 CAPÍTULO 1 GIS como uma ferramentaCAPÍTULO 1 GIS como uma ferramenta
Dojo usa AMD para construir aplicações, de modo AMD carregamento é outro método que você vai aprender a construir suas 
aplicações. Um exemplo rápido da AMD carregamento é mostrado a seguir:
define ([ 'dojo / _base / matriz'], função (arrayUtil) { 
var sqItems = function () {itens
voltar arrayUtil.map (itens, function (item) {
retornar item * artigo; }); };
voltar sqItems; });
Vou cobrir mais detalhes sobre o carregador AMD no capítulo 3 quando você construir um widget personalizado.
UTILIZAÇÃO Dijit
Dojo tem uma biblioteca chamada Dijit, que é usado para construir os componentes JavaScript que fornecem uma interface em 
uma aplicação web. A interface pode ser um formulário para inseririnformações ou poderia ser um calendário de data-picker. 
Um processo está em vigor para construir estes componentes personalizados, comumente referido como Widgets. Usando Um processo está em vigor para construir estes componentes personalizados, comumente referido como Widgets. Usando Um processo está em vigor para construir estes componentes personalizados, comumente referido como Widgets. Usando 
Dojo, um desenvolvedor pode criar widgets personalizados usando conjunto base da biblioteca Dijit de ferramentas, o que 
simplifica o processo e torna a escrita de widgets reutilizáveis ​​muito mais fácil como uma aplicação cresce. Vou cobrir widgets 
personalizados nos capítulos 3 e 4.
1.3.2 Introdução de um pouco de GIS
Estou focando na construção de aplicativos de mapeamento web usando a API do ArcGIS para JavaScript, e embora o 
conhecimento de GIS não é um requisito para entrar neste assunto, eu quero rever alguns conceitos de SIG:
■
Mapas-interativo Um mapa interativo serve a um propósito específico: um mapa está lá para mostrar-lhe Mapas-interativo Um mapa interativo serve a um propósito específico: um mapa está lá para mostrar-lhe 
onde. Mostrar onde que? Mapas de comunicar informações de localização: poderia ser ruas, bairros, casas onde. Mostrar onde que? Mapas de comunicar informações de localização: poderia ser ruas, bairros, casas 
para venda, ou o quanto as pessoas de renda fazem em algumas cidades, mas a informação gira em torno 
de onde essa informação é exibida. Como mostrado na figura 1.6, quando você está à procura de uma 
resposta particular, às vezes você precisa perguntar: “Onde você está?”
Define módulo personalizado e usa 
AMD para carregar outros arquivos 
JavaScript
ArcGIS Server e 
API REST
dados 
GIS
ArcGIS API para 
JavaScript
pessoa surda 
comunicar em 
linguagem de sinais
intérprete de 
linguagem gestual 
profissional
RESTO URL do terminal
http: // myservername / arcgis / rest / serviços / myservice f = json?
Informações para se 
comunicar 
Figura 1.6 Um mapa pode se comunicar muitas coisas, mas muitas vezes faz uma pergunta simples.
www.it-ebooks.info
15resumo
■
Mapas e camadas -Você vai aprender sobre as partes de um mapa e de como usar camadas no capítulo 2, mas Mapas e camadas -Você vai aprender sobre as partes de um mapa e de como usar camadas no capítulo 2, mas 
por agora, tudo o que você precisa saber é que o mapa é o ponto de partida para veicular a informação. Por 
exemplo, um ponto no mapa poderia representar a localização de um posto de gasolina, uma série de linhas no 
mapa poderia mostrar rede viária de uma cidade, ou polígonos no mapa pode exibir áreas de voto.
■
análise de dados GIS -GIS ajuda a responder perguntas sobre a informação que você está trabalhando. Como próximo análise de dados GIS -GIS ajuda a responder perguntas sobre a informação que você está trabalhando. Como próximo 
sou eu para um determinado local? Como faço para encontrar uma casa que está mais próximo de escolas, centros 
comerciais, e onde eu trabalho? Usando a API do ArcGIS para JavaScript, você pode fazer análises interessantes. Eu 
não cobrirá qualquer coisa demasiado extensa, mas a capacidade está lá se você precisar dele, e você vai aprender 
como acessar as ferramentas para fazê-lo.
1.3.3 Interagir com o ArcGIS API REST
O motor que mantém a API do ArcGIS para JavaScript em execução é o ArcGIS API REST, que eu discuti na seção 
1.2.2. Falarei sobre como acessar o ArcGIS API REST para atender às necessidades que você pode ter que não são 
fornecidos na API do ArcGIS para JavaScript no capítulo
3. O que ferve para baixo é ser capaz de usar o ArcGIS API REST para encontrar mais informações sobre os dados 
que você está trabalhando. Você pode pensar nisso como metadados sobre seus serviços. Neste caso, os metadados 
inclui informações sobre um serviço de mapa, como os dados que estão no serviço, e se os dados é composta de 
pontos, linhas ou polígonos, ou todas as anteriores. É o serviço de mapas compatível com seus outros serviços de 
mapas? Qual é a aparência padrão do seu serviço de mapas?
Em termos de ser capaz de preencher possíveis lacunas em termos de funcionalidade da API do ArcGIS para JavaScript, 
no capítulo 3, você vai construir uma extensão em JavaScript que irá exibir uma legenda que permite transformar camadas 
individuais ligado e desligado. Esta é uma ferramenta útil que não é fornecido fora da caixa com a API do ArcGIS para 
JavaScript. Estes tipos de ferramentas personalizadas que exigem que você interaja com o ArcGIS API REST não são sempre 
necessários, mas quando eles são, você vai ser grato por ter uma compreensão básica de trabalhar com o ArcGIS API REST 
para cobrir suas bases.
1.4 Resumo
■
Neste capítulo, eu discuti a prevalência de aplicações espaciais em nossas vidas diárias. De como temos loja de 
onde vivemos, a localização desempenha um papel vital em nossa sociedade.
■
Eu discuti várias opções disponíveis para aplicações de mapeamento edifício da web, cada um com seus 
próprios méritos. Neste livro, o foco é sobre a API do ArcGIS para JavaScript, que é mais adequado para 
trabalhar com serviços de mapas do ArcGIS Server.
■
Tendências na indústria do GIS têm mostrado um aumento acentuado para os profissionais de GIS para ter 
familiaridade com a linguagem de programação, mesmo que seja para complementar GIS análises e automatizar fluxos 
de trabalho. Isso abre a oportunidade para que profissionais não-GIS para mergulhar em construir aplicativos de 
mapeamento da web que usam o poder de dados GIS.
www.it-ebooks.info
16 CAPÍTULO 1 GIS como uma ferramentaCAPÍTULO 1 GIS como uma ferramenta
■
Eu cobri o básico de acesso a dados GIS através de serviços web, que você pode usar para construir aplicativos de 
mapeamento da web.
■
I forneceu uma visão geral dos conceitos que você vai saber até o final deste livro, como JavaScript, as 
partes relevantes do Dojo Toolkit, os bits de GIS em seus mapas da web, eo que olhar para a frente quando 
se trabalha com a ArcGIS API REST. 
No capítulo 2, você vai aprender a usar a API do ArcGIS para JavaScript para trabalhar com vários serviços de mapas, 
dados de consulta destes serviços, e filtrar os dados.
www.it-ebooks.info
17
Apresentando núcleo
conceitos da API
A API do ArcGIS para JavaScript é uma biblioteca JavaScript bem abastecido você pode usar para construir aplicações de 
mapeamento. Nos próximos capítulos você vai usar recursos avançados da API, mas neste capítulo vou discutir os principais 
recursos e seus usos. Vamos começar a nossa introdução às funções principais da API com um pouco de explicação sobre 
como as coisas funcionam para que você possa estar mais bem preparados quando algo não funcionar como esperado.
Um aplicativo de mapeamento requer que você se encaixam muitos pedaços pequenos, mas a API do ArcGIS 
para JavaScript traz todos estes pedaços juntos para você, o que simplifica o processo. A API do ArcGIS para 
JavaScript usa uma abordagem modular para a construção de aplicativos de mapeamento web; ele carrega apenas 
as peças necessárias (módulos) para executar várias tarefas. Um aplicativo que apresenta um mapa interativo na tela 
que você pode zoom e pan ao redor é extremamente simples para criar. As funcionalidades adicionais, tais como o 
fornecimento de feedback do usuário ou a construção de inteligência para o aplicativo, dá mais trabalho.
Este capítulo cobre
■
Noções básicas de um mapa em um aplicativo web
■
Usando diferentes tipos de dados do mapa
■
realizar consultas
■
Trabalhando com um FeatureLayerTrabalhando com um FeatureLayer
www.it-ebooks.info
18 CAPÍTULO 2 Apresentando conceitos principais da APICAPÍTULO 2 Apresentando conceitos principais da API
Para melhor prepará-lo para solucionar problemas quando algo não funcionar da maneira esperada, a minha 
abordagem neste capítulo é fornecer explicações mais detalhadas sobre como as funções do núcleo da API trabalhar.Vou 
cobrir as opções que estão disponíveis quando você faz um mapa, bem como o tipo de dados que você normalmente vai 
trabalhar. Eu também vou mostrar-lhe como consultar seus dados para ajudá-lo a usar o mapa para responder a 
perguntas e exibir os resultados em seu mapa. Então eu vou terminar cobrindo as vantagens de uma FeatureLayerperguntas e exibir os resultados em seu mapa. Então eu vou terminar cobrindo as vantagens de uma FeatureLayer
e como você pode usá-lo em seus aplicativos de mapeamento web.
Agora, para o momento que você estava esperando: você vai mergulhar na direita e fazer um aplicativo de mapeamento 
nu-ossos. Prepare-se para ele!
2.1 A partir de dados para mapear
Um mapa é uma forma de visualizar dados. Poderia ser dados básicos, tais como locais de ruas, ou dados mais detalhados, tais 
como a localização de setores censitários. Esta seção abrange o seguinte:
■
Criar um mapa simples com ArcGIS API para JavaScript
■
Compreender em detalhe as peças que compõem o mapa 
■
Rever opções de mapa comuns
GORJETA Antes de saltar, revisão apêndice A para se certificar de que você tem o software recomendado GORJETA Antes de saltar, revisão apêndice A para se certificar de que você tem o software recomendado 
instalado para executar as amostras. 
Primeiro, crie um arquivo HTML usando seu editor de texto de escolha, nomeá-lo ch2_1.html, e insira o código mostrado na 
listagem 2.1, salvando-o em um diretório onde você pode vê-lo a partir de um servidor web local. Lembre-se que para ver as 
aplicações construídas com o ArcGIS API para JavaScript, os arquivos HTML deve usar um servidor web local de sua 
escolha. Novamente, consulte o Apêndice A para obter mais informações.
<! Doctype html> <html>
<Head>
<Title> ArcGIS Desenvolvimento Web </ title>
Docs são seus amigos
Este não é um livro de referência, de modo que não irá cobrir todos os métodos e propriedades na API do ArcGIS para 
JavaScript. Um recurso que você vai se tornar intimamente familiarizado com ao usar a API é a documentação, que você pode 
encontrar em https://developers.arcgis.com/en/ javascript / . As páginas de referência API você pode economizar tempo quando encontrar em https://developers.arcgis.com/en/ javascript / . As páginas de referência API você pode economizar tempo quando encontrar em https://developers.arcgis.com/en/ javascript / . As páginas de referência API você pode economizar tempo quando 
você está preso sobre como trabalhar com um determinado módulo.
Esri, a empresa que fornece a API do ArcGIS para JavaScript, também fornece um conjunto de amostras em seu site 
que fazem um bom trabalho de introduzir os usuários para o básico da API e algumas ferramentas. Eu recomendo 
estas amostras e páginas de referência, que podem ser encontrados em http://esriurl.com/js , Como leitura obrigatória estas amostras e páginas de referência, que podem ser encontrados em http://esriurl.com/js , Como leitura obrigatória estas amostras e páginas de referência, que podem ser encontrados em http://esriurl.com/js , Como leitura obrigatória 
junto com este livro.
Listagem 2.1 Uma aplicação simples mapeamento ArcGIS JavaScript
www.it-ebooks.info
19A partir de dados para mapear
<Link rel = "stylesheet" 
href = "// js.arcgis.com/3.11/esri/css/esri.css"> 
</ Head> 
<body>
<Div id = "mapa"> </ div> </ body>
<Script src = "// js.arcgis.com/3.11 /"> </ script> <script>
require ([ 'ESRI / map'], a função (Mapa) { 
var map = new Mapa ( 'mapa', { 
mapa base: 'ruas'}); }); </ Script> </ 
html>
Este é o código mínimo que você precisa para construir um mapa usando a API do ArcGIS para JavaScript:
■
Uma referência para a versão atual da API do ArcGIS para JavaScript.
■
Um elemento de recipiente, o mais comum dos quais é um div elemento em seu HTML. UMA div é um Um elemento de recipiente, o mais comum dos quais é um div elemento em seu HTML. UMA div é um Um elemento de recipiente, o mais comum dos quais é um div elemento em seu HTML. UMA div é um Um elemento de recipiente, o mais comum dos quais é um div elemento em seu HTML. UMA div é um Um elemento de recipiente, o mais comum dos quais é um div elemento em seu HTML. UMA div é um 
elemento HTML em nível de bloco usado para organizar sua página web e pode ser usado apenas dentro do <elemento HTML em nível de bloco usado para organizar sua página web e pode ser usado apenas dentro do <
body> elemento da página. o div elemento que contém o mapa deve ter uma identificação única, que é body> elemento da página. o div elemento que contém o mapa deve ter uma identificação única, que é body> elemento da página. o div elemento que contém o mapa deve ter uma identificação única, que é body> elemento da página. o div elemento que contém o mapa deve ter uma identificação única, que é 
associado com um elemento em sua página web. Neste caso, o ID é mapa . Você poderia nomeá-lo Prumo enquanto associado com um elemento em sua página web. Neste caso, o ID é mapa . Você poderia nomeá-lo Prumo enquanto associado com um elemento em sua página web. Neste caso, o ID é mapa . Você poderia nomeá-lo Prumo enquanto associado com um elemento em sua página web. Neste caso, o ID é mapa . Você poderia nomeá-lo Prumo enquanto associado com um elemento em sua página web. Neste caso, o ID é mapa . Você poderia nomeá-lo Prumo enquanto associado com um elemento em sua página web. Neste caso, o ID é mapa . Você poderia nomeá-lo Prumo enquanto 
você faz referência a ID corretamente, mas mapa é um nome conveniente para este exemplo.você faz referência a ID corretamente, mas mapa é um nome conveniente para este exemplo.você faz referência a ID corretamente, mas mapa é um nome conveniente para este exemplo.
■
Uma referência para o arquivo Esri Cascading Style Sheets (CSS), que define como elementos olhar na 
página; o CSS é fornecido com a API para garantir que o mapa exibe corretamente.
Com essas peças no lugar, algumas linhas de código JavaScript são tudo que você precisa fazer referência ao ESRI / map módulo Com essas peças no lugar, algumas linhas de código JavaScript são tudo que você precisa fazer referência ao ESRI / map módulo Com essas peças no lugar, algumas linhas de código JavaScript são tudo que você precisa fazer referência ao ESRI / map módulo 
e instanciar uma nova instância de um mapa. 
DEFINIÇÃO Eu uso o termo módulo para se referir a componentes individuais de JavaScript que são definidas na API DEFINIÇÃO Eu uso o termo módulo para se referir a componentes individuais de JavaScript que são definidas na API DEFINIÇÃO Eu uso o termo módulo para se referir a componentes individuais de JavaScript que são definidas na API DEFINIÇÃO Eu uso o termo módulo para se referir a componentes individuais de JavaScript que são definidas na API 
do ArcGIS para JavaScript. Para criar o mapa, você passa o identidade do div elemento como o primeiro argumento para do ArcGIS para JavaScript. Para criar o mapa, você passa o identidade do div elemento como o primeiro argumento para do ArcGIS para JavaScript. Para criar o mapa, você passa o identidade do div elemento como o primeiro argumento para do ArcGIS para JavaScript. Para criar o mapa, você passa o identidade do div elemento como o primeiro argumento para do ArcGIS para JavaScript. Para criar o mapa, você passa o identidade do div elemento como o primeiro argumento para 
o Mapao Mapa
construtor. Este elemento é usado para desenhar o mapa na tela. Vamos dar uma olhada no mapa em um navegador.
2.1.1 Partes de um mapa básico
Para ver os resultados do código na listagem 2.1, executar um servidor web local de sua escolha e exibir o arquivo 
HTML em um navegador da Web usando uma das opções de servidor fornecidos no apêndice A-Visual Studio, XAMPP 
(Apache, MySQL, PHP) ou Python: 
GORJETA Veja o Apêndice A para opções de servidor web viáveis. GORJETA Veja o Apêndice A para opções de servidor web viáveis. 
Estilo é necessário para mapa para 
exibir corretamente
Mostra o mapa
Referências atual versão do ArcGIS

Continue navegando