Virtual Earth . Segundo Passo
Descrição do artigo publicado no aspneti.com, cada artigo com seu resumo
OlĂĄ pessoal, meu nome Ă© MaurĂcio JĂșnior e estou disposto a mostrar como adicionar botĂ”es para navegar no mapa do Virtual Earth. No primeiro passo, mostrei como adicionar o mapa junto de sua pĂĄgina ou portal da internet. Foi bem simples e fĂĄcil.
Para quem não viu e quer começar do primeiro passo, acesse o link abaixo falando e siga os passos.
Link: http://www.aspneti.com/visualizar/downloadArtigo.aspx?ch_artigos=306
O objetivo agora Ă© adicionar botĂ”es que caminha para direita, caminha para esquerda, subir e descer. Todos estes botĂ”es sĂŁo essenciais para a navegação dentro do mapa. Existe ainda o botĂŁo aerial cujo mostra o mapa em forma aĂ©rea com grande verde e azul do mar. (ReferĂȘncia 2.1)
ReferĂȘncia: 2.1
Lembre-se que o exemplo neste passo dois, Ă© continuação da parte um, portanto entendo que jĂĄ foi feito a versĂŁo anterior. Segue todo cĂłdigo da primeira parte. ReferĂȘncia 2.2.
<html> <head> <title>My Virtual Earth</title> <STYLE TYPE="text/css" MEDIA=screen> <!-- .pin { width:44px;height:17px; font-family:Arial,sans-serif; font-weight:bold;font-size:8pt; color:White;overflow:hidden; cursor:pointer;text-decoration:none; text-align:center;background:#0000FF; border:1px solid #FF0000; z-index:5} --> </STYLE> <link href="http://dev.virtualearth.net/standard/v2/MapControl.css" type="text/css" rel="stylesheet" /> <!--script src="http://local.live.com/MapControl.ashx"></script--> <script src="http://dev.virtualearth.net/standard/v2/MapControl.js" type="text/javascript"></script> <script language="javascript" type="text/javascript"> var map = null; function UpdateInfo(e) { document.getElementById("info").innerHTML = 'Latitude = ' + e.view.latlong.latitude + ', Longitude = ' + e.view.latlong.longitude + ', Zoom=' + e.view.zoomLevel; } function MouseClick(e) { map.RemovePushpin('pin'); map.AddPushpin('pin', e.view.latlong.latitude, e.view.latlong.longitude, 88, 34, 'pin', 'MyPin', 1); } function OnPageLoad() { var params = new Object(); //params.latitude = 51.567; //params.longitude = -0.026; params.latitude = -7.541648553787295; params.longitude= -52.20703125; params.zoomlevel = 4; params.mapstyle = Msn.VE.MapStyle.Road; params.showScaleBar = true; params.showDashboard = true; params.dashboardSize = Msn.VE.DashboardSize.Normal; params.dashboardX = 5; params.dashboardY = 5; map = new Msn.VE.MapControl( document.getElementById("myMap"), params); map.Init(); map.AttachEvent("onendcontinuouspan", UpdateInfo); map.AttachEvent("onendzoom", UpdateInfo) ; map.AttachEvent("onclick", MouseClick); } </script> </head> <body onload="OnPageLoad();"> <div id="info" style="HEIGHT: 50px; font-size:10pt"></div> <div id="myMap" style="WIDTH: 600px; HEIGHT: 400px; OVERFLOW:hidden"></div> </body> </html> |
ReferĂȘncia: 2.2
O que falta Ă©, acrescentar as functions em javascript e os botĂ”es para a navegação. O primeiro botĂŁo serĂĄ o de SUBIR o mapa ou a localização dentro do mapa. Primeiro o HTML. (ReferĂȘncia 2.3)
<input type="button" value="Subir" onclick="DoPanUp()" ID="PanUpButton" NAME="PanUpButton"> |
ReferĂȘncia: 2.3
Note que atributo onclick possui uma function em javascript chamada DoPanUp(). Ă bem simples esta function. (ReferĂȘncia 2.4)
function DoPanUp() { map.ContinuousPan(0, -10, 20); } |
ReferĂȘncia: 2.4
Peguei a variĂĄvel map e chamei uma function ContinuousPan passando os parĂąmetros necessĂĄrios para caminhar no mapa. Para correr no mapa, Ă© sempre utilizada esta function. VocĂȘ deve pensar que agora ficou simples e realmente ficou.
O segundo botĂŁo Ă© para descer no mapa. (ReferĂȘncia 2.5)
<input type="button" value="Descer" onclick="DoPanDown()" ID="PanDownButton" NAME="PanDownButton"> |
ReferĂȘncia: 2.5
Existe outra function dentro do atributo onclick chamado DoPanDown(). (ReferĂȘncia 2.6)
function DoPanDown() { map.ContinuousPan(0, 10, 20); } |
ReferĂȘncia: 2.6
Em vez de andar -10 eu ando 10 cujo faz descer a navegação dentro do mapa. Continuando com os botĂ”es, colocarei o botĂŁo que anda para a esquerda. (ReferĂȘncia 2.7)
<input type="button" value="Esquerda" onclick="DoPanLeft()" ID="PanLeftButton" NAME="PanLeftButton"> |
ReferĂȘncia: 2.7
A function criada agora dentro do javascript Ă© DoPanLeft() que anda para a esquerda todo o mapa da pĂĄgina. (ReferĂȘncia 2.8)
function DoPanLeft() { map.ContinuousPan(-10, 0, 20); } |
ReferĂȘncia: 2.8
Note que agora alterei o valor do primeiro parĂąmetro, deixei zerado o segundo e continuei com 20 o terceiro parĂąmetro. Dessa forma o caminho Ă© alterado para a esquerda. O prĂłximo botĂŁo Ă© ir para direita.
<input type="button" value="Direita" onclick="DoPanRight()"ID="PanRightButton" NAME="PanRightButton"> |
ReferĂȘncia: 2.9
Criei uma outra function chamada DoPanRight() cujo tem o trabalho de movimentar todo mapa para a direita. LĂłgico que poderia ter apenas uma function passando os valores necessĂĄrios, porĂ©m para que entendesse com mais precisĂŁo, achei melhor criar uma function para cada botĂŁo que chama outra function passando valores diferentes. (ReferĂȘncia 2.10)
function DoPanRight() { map.ContinuousPan(10, 0, 20); } |
ReferĂȘncia: 2.10
No primeiro parùmetro, em vez de colocar o valor negativo, coloquei positivo para que ande para direita. Foi mantido os outros valores em relação a function 2.8.
Bom, criei os botĂ”es para navegação do mapa. Vejamos como ficou com figuras ilustradas. (ReferĂȘncia 2.11)
ReferĂȘncia: 2.11
Ao clicar no botĂŁo SUBIR, automaticamente toda ĂĄrea de visualização subiu sem qualquer problema indo para COLOMBIA e VENEZUELA. (ReferĂȘncia 2.12)
ReferĂȘncia: 2.12
Cliquei no botĂŁo DIREITA e ao mesmo tempo foi tudo movido para a direção de SENEGAL do outro lado do mar. (ReferĂȘncia 2.13)
ReferĂȘncia: 2.13
Clicando no botĂŁo ESQUERDO, volto para a antiga posição. (ReferĂȘncia 2.14)
ReferĂȘncia: 2.14
Note que no canto esquerdo e topo do mapa, existe uma ĂĄrea de navegação onde possui dois links: road e aerial que mostram o mapa de duas formas diferentes. A forma que Ă© mostrada junto Ă referĂȘncia 2.14 Ă© chamada de aerial. Cliquei no link chamado road e ao mesmo tempo o mapa foi alterado com outra perspectiva. (ReferĂȘncia 2.15)
ReferĂȘncia: 2.15
Eu fico por aqui com mais um artigo, qualquer dĂșvida favor entrar em contato atravĂ©s do e-mail mauricio@aspneti.com. Espero que tenha gostado.
Mauricio Junior
Subscribe ecode10.com
Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.
You can cancel anytime.
Log In