PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WEBDEV 2024 → Champ carte et zoom "automatique" sur position
Champ carte et zoom "automatique" sur position
Started by JULIEN, Jan., 08 2016 11:09 PM - 8 replies
Registered member
197 messages
Popularité : +3 (3 votes)
Posted on January, 08 2016 - 11:09 PM
Bonsoir à tous et merci par avance pour votre aide,

Sous WB 21, je dois réaliser un site+appli mobiles comprenant de la géolocalisation (livreur/client), j'ai bien envie d'utilisé le champ carte qui permet de s'intégrer à mon site et appli sauf qu'un problème me gêne...le niveau de zoom lors de l'initialisation du champ carte.

En effet, que ce soit soit lors de l'affichage du champ ou lors de l'affichage des marqueurs(client+livreur), j'affiche des géopositons mais le champs carte reste avec une vue de l'Europe entière...

Je souhaiterai pouvoir zoomer au moins sur la ville automatiquement à l'affichage des marqueurs (ou des geopositions) car ce n'est vraiment pas pratique de contraindre le client de cliquer plusieurs fois sur le bouton zoom + avant d'avoir une vue qui serve à quelque chose.

Malgré mes recherches dans l'aide et divers forums, je n'ai encore trouvé aucune solution...j'espère que vous saurez me faire part de vos idées sinon je pense que j'abandonnerai le champ carte qui est trop contraignant à ce niveau. (d'ailleurs j'ai déjà essayé d'intégrer googlemap via un champ html mais impossible de modifier dynamiquement la champ affiché par programmation...j'ai également essayé un iframe mais il n'accepte pas les url de type https, qu'utilise googlemap...bref la galère...)

Merci par avance pour votre temps et bonne soirée,
Posted on March, 01 2016 - 5:20 PM
Bonjour
Je viens de découvrir votre pb car j'ai le même. Avez vous trouvé la solution depuis?
Registered member
197 messages
Popularité : +3 (3 votes)
Posted on March, 01 2016 - 6:03 PM
Bonjour Olivier,

Malheureusement non...du coup je passe directement par Googlemap...
Posted on March, 06 2016 - 8:58 PM
Bonjour,

J'ai réussi à manipuler le niveau de zoom de la carte par programmation avec la propriété "..Zoom" sur le champ carte directement. À savoir que l'entier à fournir à cette propriété (selon mes tests) est le nombre de fois qu'il faut « scroller » sur la map pour arriver au niveau de zoom voulu. Par exemple pour moi c'était : 15 donc :

// Dans le code d'initialisation du champ carte
Mon_Champ_Carte..Zoom = 15

// Ou ...
MoiMême..Zoom = 15


Bon dev !
Registered member
197 messages
Popularité : +3 (3 votes)
Posted on March, 07 2016 - 9:41 AM
Bonjour Jules,

Merci pour ta participation, il me semble que j'avais essayer cette solution sans succès mais je n'en suis pas certain donc je vais tenter à nouveau.

Cela fonctionne à la fois pour IOS et Android?

Cordialement,
Posted on March, 07 2016 - 2:00 PM
J'avoue ne l'avoir testé que sur Webdev, cependant dans la doc. de la propriété ..zoom on peut voir les petits pictos disant que cette propriété est compatible avec Windev, Webdev Serveur, Webdev Navigateur, Android, IOS et php pour les champs cartes. Du coup, selon la doc. ça fonctionnerai de la même manière sur Android et IOS.

La doc. en question : http://doc.pcsoft.fr/fr-FR/?1000017201

Tiré de cette doc. : 
« [...]
Pour un champ Carte :
cette valeur est comprise entre 1 (affichage de la terre entière) et 21.
cette valeur peut correspondre à la constante suivante :
zoomAdapteTaille - Adapte le zoom du champ Carte pour que tous les marqueurs soient visibles en même temps. »
Posted on February, 26 2017 - 10:40 PM
Bonjour, pour zoomer sur le marqueur, il faut écrire :
//Ajoute le marqueur sur la carte
CarteAjouteMarqueur(Carte1,MonMarqueur)

//Zoom sur le marqueur
CarteAffichePosition(Carte1,MonMarqueur)
Carte1..Zoom = 12

La réponse vient tard, mais peut servir pour les prochains.
Bon développement......
Posted on February, 27 2017 - 9:31 AM
Goblet a utilisé son clavier pour écrire :
Bonjour, pour zoomer sur le marqueur, il faut écrire :
//Ajoute le marqueur sur la carte
CarteAjouteMarqueur(Carte1,MonMarqueur)

//Zoom sur le marqueur
CarteAffichePosition(Carte1,MonMarqueur)
Carte1..Zoom = 12

La réponse vient tard, mais peut servir pour les prochains.
Bon développement......


et bien oui, cela va peut être m'éviter de chercher quand je vais en
avoir besoin (bientôt ?)

Mais du coup mon besoin est un peu différent ... je voudrais localiser
tous les clients d'un commercial sur une carte(donc plusieurs
marqueurs) Et donc je voudrais que la carte se positionne en quelque
sorte au milieu de tous ces points.

Peut être que ce sont des maths ?
soit n positions x, y calculer la position médiane
Posted on March, 23 2017 - 5:12 PM
Bonjour,

Une fois que les marqueurs sont placés sur la carte il suffit de faire :

CARTE..Zoom = zoomAdapteTaille

La carte zoom alors sur les marqueurs de manière à tous les avoir sur la carte le plus rapproché possible.