#1 Mon 09 April 2007 19:43
- Quebec_MOD
- Participant occasionnel
- Date d'inscription: 4 Apr 2007
- Messages: 16
FAIR Zoom sur un point selecttionné
Bonjour
Je suis entrain de travailler sur des cartes via MapBasic. Voila ce que je veux fair exactement :
Je veux produir une serie d'image en zoomant sur des point spécifiques. Autrement dit: Je selectionne un point, je fait un zoom (agrandir la carte), puis je prend l'image. Ensuite, je dezoom, je selectionne un autre point, je prend l'image...
Ainsi, j'aurais besoin de savoir ( via MAPBASIC) comment zoomer sur un point selectionné et dezoomer.
PS: je sais comment prendre l'image via MAPBASIC
Merci beaucoupppppppppppp
Hors ligne
#2 Tue 10 April 2007 10:04
- Cartosig
- Participant assidu
- Date d'inscription: 16 Oct 2006
- Messages: 222
Re: FAIR Zoom sur un point selecttionné
Pour pouvoir zoomer il faut déjà connaitre les coordonnées du point :
-> utilisez les fonctions ObjectGeography(objet, OBJ_GEO_POINTX et Y) pour obtenir x et y
Ensuite une des solutions est de faire un Set Map :
-> Set Map Center (x,y) Zoom distance Units unités
Il y a peut-être mieux mais je n'ai pas encore bu mon café
Hors ligne
#3 Tue 10 April 2007 14:49
- Gérard parcoli
- Participant actif
- Date d'inscription: 9 Jan 2007
- Messages: 95
Re: FAIR Zoom sur un point selecttionné
Bonjour,
Personnellement je 'triche' pour zoomer facilement sur un (ou plusieurs) objets, et utilise des fonctions standards de mapinfo, par exemple :
Dim SelZoomS as string
SelZoomS =selectioninfo(2)
Add Map Layer SelZoomS
Set Map Window Frontwindow() Zoom Entire Layer SelZoomS
Close table SelZoomS
et un "run menu command 806" pour revenir au zoom précédent, si l'utilisateur n'a pas eu l'occasion de modifier par lui meme l'état de la fenetre carte.
L'inconvenient étant que map info implémente les tables query (query1, query2, queryXX...), meme si ici on les détruit au fur et a mesure.
Hors ligne
#4 Tue 10 April 2007 16:49
- Quebec_MOD
- Participant occasionnel
- Date d'inscription: 4 Apr 2007
- Messages: 16
Re: FAIR Zoom sur un point selecttionné
Merci mes amis
J'ai essyé la premiere option et elle marche bien
Je met le code pour les gens qui peuvent n avoir besoin dans le futur :
dim Wind_Id as integer
wind_id = FrontWindow()
Set Map Center (X, Y) Zoom 100
save window wind_id as "Chemin" Type "Bmp" Width "200" Height "13" Resolution "96"
Set Map Zoom Entire
merci encore
Hors ligne