PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 25 → WX - GPS Controlando o Zoom
WX - GPS Controlando o Zoom
Started by adrianoboller, Jun., 02 2016 3:47 PM - No answer
Registered member
3,662 messages
Popularité : +175 (223 votes)
Posted on June, 02 2016 - 3:47 PM
Prezados,

Segue novo exemplo para controlar o Zoom em seus controles de mapas.

Caso tenham uma técnica melhor favor colocar o exemplo abaixo nesse mesmo post.

Procedure ZoomVoceDestinoTaxi(LOCAL DistanciaDestino)

IF GloDebugSN = "S" THEN
//Info("ZoomVoceDestinoTaxi")
END

IF gnPlane = 1 AND GloResizingMap = True THEN
RETURN
END

//Zoom
//40000 - 20000 = 09/10
//20000 - 13000 = 10/11
//13000 - 07000 = 11/12
//07000 - 04500 = 12/13
//04500 - 02200 = 13/14
//02200 - 01400 = 14/15
//01400 - 00700 = 15/16
//00700 - 00350 = 16/17
//00350 - 00000 = 17/18

//Zoom
GloZoom is int = 0

IF gnPlane = 1 THEN

IF gbTaxisDisponiveis THEN

IF H <= 800 AND W <= 480 THEN
GloZoom = 15
ELSE
GloZoom = 16
END
ELSE
IF H <= 800 AND W <= 480 THEN
GloZoom = 17
ELSE
GloZoom = 18
END
END
ELSE IF gnPlane = 2 THEN

/// Com Destino
IF DistanciaDestino > 40000 THEN
//info("zoom1")
IF H <= 800 AND W <= 480 THEN
GloZoom = 8
ELSE
GloZoom = 9
END
ELSE IF DistanciaDestino <= 40000 AND DistanciaDestino > 20000 THEN
//Info("zoom2")
IF H <= 800 AND W <= 480 THEN
GloZoom = 9
ELSE
GloZoom = 10
END
ELSE IF DistanciaDestino <= 20000 AND DistanciaDestino > 13000 THEN
//Info("zoom3")
IF H <= 800 AND W <= 480 THEN
GloZoom = 10
ELSE
GloZoom = 11
END
ELSE IF DistanciaDestino <= 13000 AND DistanciaDestino > 7000 THEN
//Info("zoom4")
IF H <= 800 AND W <= 480 THEN
GloZoom = 11
ELSE
GloZoom = 12
END
ELSE IF DistanciaDestino <= 7000 AND DistanciaDestino > 4500 THEN
//Info("zoom4")
IF H <= 800 AND W <= 480 THEN
GloZoom = 12
ELSE
GloZoom = 13
END
ELSE IF DistanciaDestino <= 4500 AND DistanciaDestino > 2200 THEN
//Info("zoom5")
IF H <= 800 AND W <= 480 THEN
GloZoom = 13
ELSE
GloZoom = 14
END
ELSE IF DistanciaDestino <= 2200 AND DistanciaDestino > 1400 THEN
//Info("zoom6")
IF H <= 800 AND W <= 480 THEN
GloZoom = 14
ELSE
GloZoom = 15
END
ELSE IF DistanciaDestino <= 1400 AND DistanciaDestino > 700 THEN
//Info("zoom6")
IF H <= 800 AND W <= 480 THEN
GloZoom = 15
ELSE
GloZoom = 16
END
ELSE IF DistanciaDestino <= 700 AND DistanciaDestino > 350 THEN
//Info("zoom7")
IF H <= 800 AND W <= 480 THEN
GloZoom = 16
ELSE
GloZoom = 17
END
ELSE IF DistanciaDestino <= 350 AND DistanciaDestino >= 0 THEN
//Info("zoom8")
IF H <= 800 AND W <= 480 THEN
GloZoom = 15
ELSE
GloZoom = 18
END
ELSE
//Info("zoom9")
IF H <= 800 AND W <= 480 THEN
GloZoom = 15
ELSE
GloZoom = 17
END
END
///
END

//////////////////////////////////
IF GloZoom <= 0 THEN
IF H <= 800 AND W <= 480 THEN
GloZoom = 16
ELSE
GloZoom = 18
END
END
ControleMapa..Zoom = GloZoom //Ajusta Zoom
IF GloDebugSN = "S" THEN
Info("Zoom: "+GloZoom,"Distancia: "+DistanciaDestino,"W: "+W,"H: "+ H)
END


IF gnPlane = 1 THEN

MapDisplayPosition(ControleMapa,GeoVoce)

IF buscandoMove = False THEN

ContadorNaoBuscar = 2

END

buscandoMove = False

END


-------------------------------------------------------------------------------------------------


Procedure ZoomVoceDestinoTaxi_Monitor(LOCAL DistanciaDestino)

IF GloDebugSN = "S" THEN
//Info("ZoomVoceDestinoTaxi")
END

//IF gnPlane = 1 AND GloResizingMap = True THEN
// RETURN
//END

//Zoom
//40000 - 20000 = 09/10
//20000 - 13000 = 10/11
//13000 - 07000 = 11/12
//07000 - 04500 = 12/13
//04500 - 02200 = 13/14
//02200 - 01400 = 14/15
//01400 - 00700 = 15/16
//00700 - 00350 = 16/17
//00350 - 00000 = 17/18

//Zoom
GloZoom is int = 0

IF gnPlane =2 THEN

IF gbTaxisDisponiveis THEN

IF H <= 800 AND W <= 480 THEN
GloZoom = 15
ELSE
GloZoom = 16
END
ELSE
IF H <= 800 AND W <= 480 THEN
GloZoom = 17
ELSE
GloZoom = 18
END
END
ELSE IF gnPlane = 1 THEN

/// Com Destino
IF DistanciaDestino > 40000 THEN
//info("zoom1")
IF H <= 800 AND W <= 480 THEN
GloZoom = 8
ELSE
GloZoom = 9
END
ELSE IF DistanciaDestino <= 40000 AND DistanciaDestino > 20000 THEN
//Info("zoom2")
IF H <= 800 AND W <= 480 THEN
GloZoom = 9
ELSE
GloZoom = 10
END
ELSE IF DistanciaDestino <= 20000 AND DistanciaDestino > 13000 THEN
//Info("zoom3")
IF H <= 800 AND W <= 480 THEN
GloZoom = 10
ELSE
GloZoom = 11
END
ELSE IF DistanciaDestino <= 13000 AND DistanciaDestino > 7000 THEN
//Info("zoom4")
IF H <= 800 AND W <= 480 THEN
GloZoom = 11
ELSE
GloZoom = 12
END
ELSE IF DistanciaDestino <= 7000 AND DistanciaDestino > 4500 THEN
//Info("zoom4")
IF H <= 800 AND W <= 480 THEN
GloZoom = 12
ELSE
GloZoom = 13
END
ELSE IF DistanciaDestino <= 4500 AND DistanciaDestino > 2200 THEN
//Info("zoom5")
IF H <= 800 AND W <= 480 THEN
GloZoom = 13
ELSE
GloZoom = 14
END
ELSE IF DistanciaDestino <= 2200 AND DistanciaDestino > 1400 THEN
//Info("zoom6")
IF H <= 800 AND W <= 480 THEN
GloZoom = 14
ELSE
GloZoom = 15
END
ELSE IF DistanciaDestino <= 1400 AND DistanciaDestino > 700 THEN
//Info("zoom6")
IF H <= 800 AND W <= 480 THEN
GloZoom = 15
ELSE
GloZoom = 16
END
ELSE IF DistanciaDestino <= 700 AND DistanciaDestino > 350 THEN
//Info("zoom7")
IF H <= 800 AND W <= 480 THEN
GloZoom = 16
ELSE
GloZoom = 17
END
ELSE IF DistanciaDestino <= 350 AND DistanciaDestino >= 0 THEN
//Info("zoom8")
IF H <= 800 AND W <= 480 THEN
GloZoom = 15
ELSE
GloZoom = 18
END
ELSE
//Info("zoom9")
IF H <= 800 AND W <= 480 THEN
GloZoom = 15
ELSE
GloZoom = 17
END
END
///
END

//////////////////////////////////
IF GloZoom <= 0 THEN
IF H <= 800 AND W <= 480 THEN
GloZoom = 16
ELSE
GloZoom = 18
END
END
ControleMapa..Zoom = GloZoom //Ajusta Zoom
IF GloDebugSN = "S" THEN
Info("Zoom: "+GloZoom,"Distancia: "+DistanciaDestino,"W: "+W,"H: "+ H)
END


//IF gnPlane = 1 THEN
//
// MapDisplayPosition(ControleMapa,GeoVoce)
//
// if buscandoMove = false THEN
//
// ContadorNaoBuscar = 2
//
// end
//
// buscandoMove = false
//
//END


Qualquer dúvida entre em contato.

:merci:

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/