Mon 27 Apr 2009
4 - Implementando os controles visuais.
Posted by admin under Uncategorized
1. Introdução
Nesse novo post, vamos dar seqüência ao nosso projeto, partindo agora para a manipulação visual de nosso mapa, realizando as operações de zoom mais, zoom menos, os deslocamentos horizontais /verticais e claro o zoom total.
Estas manipulações podem ser implementadas de diversas formas, principalmente fazendo uso de artifícios, como javascript, para dar uma melhor interação, porem vamos fazer da maneira mais simples, fica a critério de vocês as implementações dessas “perfumarias”
2. Explicando
- Zoom total
Para realizar o comando de zoom total deveremos “guardar” o primeiro extent existente no momento que nosso objeto mapa foi criado.
- Demais controles
Todos os demais controles serão feitos através da função zoomPoint , dependendo de qual parâmetro nos passarmos será a alteração da posição do mapa.
Veja abaixo uma descrição dos parâmetros passados a essa função:
-
- Fator de zoom = é o que tipo de zoom será feito, positivo zoom mais, negativo zoom menos. Existe uma exceção para o 0 (zero) que não serve como parâmetro e o 1 que serve apenas para um zoom estático.
- Posição do zoom = esse parâmetro é de suma importância pois ele é posição há qual o mapa será centralizado, isto é, a imagem gerada terá essa posição como seu centro.
- Tamanho horizontal = essa informação é em pixel.
- Tamanho vertical = essa informação é em pixel.
- Extent atual = atual extent do mapa.
- Maximo extent = Maximo extent permitido, ignore esse parâmetro nesse momento não iremos nos atentar a ele.
Com a manipulação desses parâmetros conseguimos escrever os códigos abaixo, realizando assim as operações desejadas.
public void ZoomMais()
{
map.zoomPoint(2, new pointObj(Convert.ToInt32(map.width / 2), Convert.ToInt32(map.height / 2), 0, 0), map.width, map.height, map.extent, null);
}
public void ZoomMenos()
{
map.zoomPoint(-2, new pointObj(Convert.ToInt32(map.width / 2), Convert.ToInt32(map.height / 2), 0, 0), map.width, map.height, map.extent, null);
}
public void MoverMapaParaCima()
{
map.zoomPoint(1, new pointObj(Convert.ToInt32(map.width / 2), Convert.ToInt32(map.height / 10) * 8, 0, 0), map.width, map.height, map.extent, null);
}
public void MoverMapaParaBaixo()
{
map.zoomPoint(1, new pointObj(Convert.ToInt32(map.width / 2), Convert.ToInt32(map.height / 10) * 2, 0, 0), map.width, map.height, map.extent, null);
}
public void MoverMapaParaDireita(){map.zoomPoint(1, new pointObj(Convert.ToInt32(map.width / 10) * 2, Convert.ToInt32(map.height / 2), 0, 0), map.width, map.height, map.extent, null);
}
public void MoverMapaParaEsquerda(){map.zoomPoint(1, new pointObj(Convert.ToInt32(map.width / 10) * 8, Convert.ToInt32(map.height / 2), 0, 0), map.width, map.height, map.extent, null);
}
Caso deseje realizar o download do código, clique aqui.
3. Finalizando
No próximo post será como criaremos consultas, isto é iremos localizar informações em nosso mapa.
Um abraço a todos.
Até mais.
Rafael Sussel Decleva
June 4th, 2009 at 1:51 pm
Ótimo tutorial parabéns!!
June 4th, 2009 at 1:54 pm
obrigago, qualquer duvida….
August 17th, 2009 at 11:02 am
Fala Rafael, tudo bom? Gostei destes tutorias. Você chegou a testar este método para zoom (zoomPoint)? Não deu erro com o último parâmetro, onde você deixa “null”?
August 17th, 2009 at 11:14 am
Vinicius,
Bom dia, tudo certo aqui sim.
Então esse ultimo parâmetro, o qual foi passado nulo, não é necessário, isto é a menos que você deseje informar qual é o extent máximo que o zoom pode ir entendeu ?
August 17th, 2009 at 11:38 am
Cara, vou conversar com você por aqui depois podemos ir por e-mail.
Trabalho muito com o Mapserver, porém com CGI. Agora estou passando pra mapscript, fiz um exemplo utilizando a linguagem VB e esse método (pelo menos pra mim) não permite utilização de “null” e nem deixando em branco, sabe porque?
August 17th, 2009 at 11:47 am
Quando você fala em VB é Visual Basic 6 ou Visual Basic .NET ?
January 22nd, 2010 at 12:57 am
Olá Rafael.
Tutorial fantástico! Parabéns!
Quando terá a continuação do tutorial?
January 22nd, 2010 at 7:03 am
Pedro,
Bom dia!
Estava meio sem tempo, mas acredito que na proxima semana estarei colocando o novo tutorial no blog, que por sinal, mostrei os esquemas de realizar consultas.
Abraços
June 28th, 2010 at 3:17 am
PillSpot.org. Canadian Health&Care.Special Internet Prices.No prescription online pharmacy.Pillspot.org. Vitamins@buy.online” rel=”nofollow”>.…
Categories: Mental HealthMens Health.Womens Health.Skin Care.Antibiotics.Weight Loss.Blood Pressure/Heart.Stomach.Antidiabetic.Antidepressants.Antiviral.Anti-allergic/Asthma.Stop SmokingPain Relief.Eye Care.Vitamins/Herbal Supplements.Anxiety/Slee…
July 22nd, 2010 at 4:31 am
Buy:Cialis.Viagra Professional.Propecia.Cialis Super Active+.Zithromax.VPXL.Tramadol.Viagra Super Active+.Cialis Professional.Viagra.Cialis Soft Tabs.Maxaman.Super Active ED Pack.Viagra Super Force.Soma.Levitra.Viagra Soft Tabs….
August 29th, 2010 at 5:46 am
To http://AACEHARDWARE.INFO/tag/How To : makeup eye/…
makeup eye/…
August 29th, 2010 at 7:32 am
wireless http://usonysqf40hr.AUTOTECHGUIDE.INFO/tag/Speakers+wahtsd1+wireless/ : wireless…
wahtsd1…
August 29th, 2010 at 6:26 pm
trip http://etourakxx20k.AUTOPARTSTHAI.INFO/tag/trip+20+a/ : trip…
20…
August 29th, 2010 at 6:37 pm
Cables http://orcabq5gdg.05KIAPARTS.US/tag/av+Cables+cables/ : av…
av…
August 30th, 2010 at 12:21 am
shot http://acampingx9esg.bestpartsstore.info/tag/Accessory+Kit+Cybershot+shot/ : Cybershot…
Kit…