PBMap - Cartes OSM, Here, Geoserver dans un Canvas

Programmation d'applications complexes
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: PBMap - OpenStreetMap dans un Canvas

Message par Micoute »

Erreur de syntaxe à la ligne 312 : parenthèse fermante manquante.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: PBMap - OpenStreetMap dans un Canvas

Message par djes »

La nouvelle version est disponible là (dépot) : https://github.com/djes/PBMap
ou là (fichier principal) : https://raw.githubusercontent.com/djes/ ... n/PBMap.pb
+ fichier include de traduction (en cours) : https://raw.githubusercontent.com/djes/ ... ettext.pbi

J'ai mis à jour nos branches.
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: PBMap - OpenStreetMap dans un Canvas

Message par falsam »

Que dire ...... C'est rapide, fonctionnel et intuitif. Bravo.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: PBMap - OpenStreetMap dans un Canvas

Message par djes »

Merci! :)
Avatar de l’utilisateur
venom
Messages : 3072
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: PBMap - OpenStreetMap dans un Canvas

Message par venom »

falsam a écrit :Que dire ...... C'est rapide, fonctionnel et intuitif. Bravo.
Tout a fait. Fonctionne parfaitement chez moi aussi. (très fluide)
Bravo 8)






@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
yves86
Messages : 36
Inscription : sam. 26/juil./2008 17:13
Localisation : Poitou

Re: PBMap - OpenStreetMap dans un Canvas

Message par yves86 »

Bonjour à tous,
Je viens de tester sur W10, c'est fluide, mais par moment ca freeze.

Désolé je n'arrive pas à mettre la copie d'écran
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: PBMap - OpenStreetMap dans un Canvas

Message par djes »

Merci de ton retour, il doit y avoir un événement qui interrompt l'utilisateur. Il faut que je regarde ça...
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: PBMap - OpenStreetMap dans un Canvas

Message par djes »

Vous trouverez la dernière version beta ici : https://github.com/djes/PBMap/tree/djes
  • Support de HERE inclus, n'oubliez pas de vous enregistrer sur on the HERE site (en exemple, vue "satellite")
  • Le bug du déplacement a été fixé
  • Meilleur support des calques
A tester ! Merci :)
yves86
Messages : 36
Inscription : sam. 26/juil./2008 17:13
Localisation : Poitou

Re: PBMap - OpenStreetMap dans un Canvas

Message par yves86 »

Sous W10, avec Pb 5.60, j'ai toujours un pb de tuiles qui ne se chargent pas lorsque je zoome. Ce pb n'existait pas avec la version utilisant la lib libcurl.

Lorsqu'il existe plusieurs communes avec le même nom, pour récupérer dans le fichier json les coordonnées, il faut modifier la ligne comme indiqué ci-dessous dans la procédure NominatimGeoLocationQuery
Ligne à rechercher :
Protected Query.s = "http://nominatim.openstreetmap.org/search/" +
URLEncoder(Address) +
"?format=json&addressdetails=0&polygon=0&limit=1"

remplacer par :
Protected Query.s = "http://nominatim.openstreetmap.org/search?" +
URLEncoder(Address) +
"&format=json&addressdetails=1&limit=50"
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: PBMap - OpenStreetMap dans un Canvas

Message par djes »

Merci de ton retour. Essaye la nouvelle version, il y a un système de mise à jour des tuiles basé sur leur âge. As-tu essayé aussi d'effacer le cache ? Il y a un bouton pour ça dans l'interface, ça peut résoudre certains problèmes dûs à d'anciennes versions.
Merci pour nominatim, je ferai la modif bientôt.
yves86
Messages : 36
Inscription : sam. 26/juil./2008 17:13
Localisation : Poitou

Re: PBMap - OpenStreetMap dans un Canvas

Message par yves86 »

J'ai utilisé la nouvelle version sur github, je n'avais pas vu que le bouton pour vider le cache était un bouton bascule, je l'ai donc laissé enfoncé quelques temps et ensuite les tuiles se sont bien chargés.
Merci pour ce partage.
yves86
Messages : 36
Inscription : sam. 26/juil./2008 17:13
Localisation : Poitou

Re: PBMap - OpenStreetMap dans un Canvas

Message par yves86 »

Voici une modification à faire pour afficher une image ou une icone à la place du pointeur perso. Modifier la procédure MyMarker comme ci-dessous:

Code : Tout sélectionner

  Procedure MyMarker(x.i, y.i, Focus = #False, Selected = #False)
    Protected Img_m.l
    Protected color = RGBA(0, 255, 0, 255) 
    Img_m = LoadImage(#PB_Any,"C:\Users\Yves\Documents\GPS\Aires\PN.bmp") ; image à afficher
    MovePathCursor(x, y)
    DrawVectorImage(ImageID(Img_m),127,ImageWidth(Img_m),ImageHeight(Img_m))
    AddPathBox(x,y,ImageWidth(Img_m),ImageHeight(Img_m))                  ; cadre autour de l'image pour pouvoir la sélectionner et la déplacer
    ;       AddPathLine(-8,-16,#PB_Path_Relative)
    ;       AddPathCircle(8,0,8,180,0,#PB_Path_Relative)
    ;       AddPathLine(-8,16,#PB_Path_Relative)
    ;       VectorSourceColor(color)
    ;       FillPath(#PB_Path_Preserve)
    If Focus
      VectorSourceColor(RGBA($FF, $FF, 0, $FF))
      StrokePath(2)
    ElseIf Selected
      VectorSourceColor(RGBA($FF, $FF, 0, $FF))
      StrokePath(3)
    Else
      VectorSourceColor(RGBA(0, 0, 0, 255))
      StrokePath(1)
    EndIf
    
  EndProcedure
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: PBMap - OpenStreetMap dans un Canvas

Message par djes »

Salut Yves, je ne vois pas trop l'intérêt de la requête nominatim telle que tu l'as définie, ça me donne bien une liste d'emplacements, mais pour l'instant ce n'est pas géré...

Pareil pour l'image à la place du marqueur, ici ça sert dans l'exemple d'application du module. Il faut que ce programme soit relativement fonctionnel et complet, et si on charge une image, il faut celle-ci soit fournie. Ca pose une petite difficulté supplémentaire, même si je pense qu'à terme on pourrait effectivement fournir un certain nombre d'éléments graphiques de ce genre, par exemple pour changer le pointeur de la souris, poser des repères, dessiner...
yves86
Messages : 36
Inscription : sam. 26/juil./2008 17:13
Localisation : Poitou

Re: PBMap - OpenStreetMap dans un Canvas

Message par yves86 »

Sałut djes,
Ce sont effectivement des exemples que j'ai donné pour montrer l'étendue des possibilités du module pbmap.
Cela n'était pas pour les inclures directement dedans.

Pour le nominatim, je met le json dans une liste structurée que j'affiche ensuite dans une listview pour me permettre de sélectionner la bonne ville.

Pour les images a la place du pointeur, cela me permet d'afficher sur la carte une liste d'aires de camping car. L'image permet d'identifier le type d'aire. Cela peut aussi etre utile pour afficher différents type de POI (stations services, parking...).
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: PBMap - OpenStreetMap dans un Canvas

Message par djes »

Ah oui, désolé, c'est super ! Je n'ai pas encore l'habitude des applications utilisateurs :) Il faudrait peut-être que l'on ouvre un topic séparé pour mieux les présenter...
Répondre