PBMap - Cartes OSM, Here, Geoserver dans un Canvas

Programmation d'applications complexes
Avatar de l’utilisateur
MetalOS
Messages : 1492
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Re: PBMap - OpenStreetMap dans un Canvas

Message par MetalOS »

Bon après une bonne dose de médoc ca commence à allez mieux. J'ai donc tester sur linux et je ne constate aucun problèmes pour le moment. Tous semble bien fonctionner.
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, super, merci ! Je mettrai à jour le master bientôt.
yves86
Messages : 36
Inscription : sam. 26/juil./2008 17:13
Localisation : Poitou

Re: PBMap - OpenStreetMap dans un Canvas

Message par yves86 »

Je viens de tester sous w10 x64, pas de probleme pour l'instant. Une fois les dalles chargées, c'est tres fluide.
Bravo pour ce travail.
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 »

Yves86> merci !

J'ai commencé à implémenter le chargement multiple de fichiers gpx. J'ai eu un bug dû apparemment à un fichier png corrompu (ou peut-être un problème de droits ? ). Ça fait planter le débogueur... Est-ce que c'est déjà arrivé à quelqu'un ?
Avatar de l’utilisateur
Thyphoon
Messages : 2697
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Re: PBMap - OpenStreetMap dans un Canvas

Message par Thyphoon »

djes a écrit :Yves86> merci !

J'ai commencé à implémenter le chargement multiple de fichiers gpx. J'ai eu un bug dû apparemment à un fichier png corrompu (ou peut-être un problème de droits ? ). Ça fait planter le débogueur... Est-ce que c'est déjà arrivé à quelqu'un ?
Non j'ai jamais eu ce problème de mon côté !
Mais j'ai déjà eu des tuiles blanches ... et il me fallait effacer le cache pour récupérer les tuiles correctement !
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 »

Oui, ça, je vais le régler en même temps qu'une gestion chronologique du cache disque. Là, c'est plutôt un bug dans la libpng que je traque, et bêtement j'ai effacé la tuile qui posait problème...
yves86
Messages : 36
Inscription : sam. 26/juil./2008 17:13
Localisation : Poitou

Re: PBMap - OpenStreetMap dans un Canvas

Message par yves86 »

Bonjour,
Je vous propose une modification de la procédure d'affichage des marqueurs qui permet d'afficher le texte sur un fond coloré avec un cadre.

Code : Tout sélectionner

   Procedure DrawMarker(x.i, y.i, Nb, Color.l, Legend.s, Focus.i, Selected.i)
    VectorSourceColor(color)
    MovePathCursor(x, y)
    AddPathLine(-8, -16, #PB_Path_Relative)
    AddPathCircle(8, 0, 8, 180, 0, #PB_Path_Relative)
    AddPathLine(-8, 16, #PB_Path_Relative)
    ;FillPath(#PB_Path_Preserve) 
    ;ClipPath(#PB_Path_Preserve)
    AddPathCircle(0, -16, 5, 0, 360, #PB_Path_Relative)
    VectorSourceColor(Color)
    FillPath(#PB_Path_Preserve)
    If Focus
      VectorSourceColor(RGBA(255, 255, 0, 255))
      StrokePath(3)
    ElseIf Selected
      VectorSourceColor(RGBA(255, 255, 0, 255))
      StrokePath(4)
    Else
      VectorSourceColor(Color)
      StrokePath(1)
    EndIf
    If PBMap\Options\ShowMarkersNb
      Protected Text.s = Str(Nb)
      VectorFont(FontID(PBMap\Font), 13)
      MovePathCursor(x - 10, y)
      VectorSourceColor(RGBA(0, 0, 0, 255))
      DrawVectorParagraph(Text, 20, 20, #PB_VectorParagraph_Center)
    EndIf
    If PBMap\Options\ShowMarkersLegend
      VectorFont(FontID(PBMap\Font), 13)
;      Protected Height = VectorParagraphHeight(Legend, 100, 13)
      ;dessin d'un cadre avec fond transparent
      Protected Height = VectorParagraphHeight(Legend, 100, 100)
      Protected Width.l
      If Height < 20 ; une ligne
        Width = VectorTextWidth(Legend)
      Else
        Width = 100
      EndIf
      AddPathBox(x - (Width / 2), y - 30 - Height,Width,Height)
      VectorSourceColor(RGBA(168, 255, 255, 100))
      FillPath()
      AddPathBox(x - (Width / 2), y - 30 - Height,Width,Height)
      VectorSourceColor(RGBA(36, 36, 255, 100))
      StrokePath(2)
      
      MovePathCursor(x - 50, y - 30 - Height)
      VectorSourceColor(RGBA(0, 0, 0, 255))
      DrawVectorParagraph(Legend, 100, Height, #PB_VectorParagraph_Center)
    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 »

Adopté ! Merci :)
Pour l'instant, c'est dans la branche djes, à voir sur le GIT.
Avatar de l’utilisateur
MetalOS
Messages : 1492
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Re: PBMap - OpenStreetMap dans un Canvas

Message par MetalOS »

Un géolocalisation serais possible avec PBMap ?
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, je n'avais pas vu ta question. Sans doute, c'est à chercher, mais est-ce que ça a vraiment un intérêt ? M'enfin, pourquoi pas, si quelqu'un a une idée, ça ne coûte rien.

Sinon, une nouvelle version est dans la branche djes, avec gestion des fichiers gpx multiples, entre autres. https://github.com/djes/PBMap/tree/djes
yves86
Messages : 36
Inscription : sam. 26/juil./2008 17:13
Localisation : Poitou

Re: PBMap - OpenStreetMap dans un Canvas

Message par yves86 »

Bonjour Djes,
Super, c'est très fluide le déplacement des tracks et la sélection comme pour les marqueurs.
Si je peux me permettre, en tant que futur utilisateur du module, de faire deux suggestions pour les tracks :
1 - mettre une couleur différents par track en la passant en paramètre à la procédure pour pouvoir ensuite gérer les couleurs indépendamment
2 - mettre un marqueur "Départ" sur le 1er point de la trace, puisqu'il y a les km autant avoir le point de départ.

J'en profite encore une pour les marqueurs :
Avoir une gestion automatique des numéros de marqueurs comme actuellement, mais aussi pouvoir passer en paramètre un numéro sur le même principe que le texte.
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 »

Gestion de la géolocalisation (pour l'instant on rentre une adresse), trackers colorés comme demandé, et édition des marqueurs à l'aide du double-clic. Comme d'hab, pas mal d'ajouts dans les fonctions intégrées. A tester ici : https://github.com/djes/PBMap/tree/djes
Avatar de l’utilisateur
MetalOS
Messages : 1492
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Re: PBMap - OpenStreetMap dans un Canvas

Message par MetalOS »

Nikel je test dès que possible.
yves86
Messages : 36
Inscription : sam. 26/juil./2008 17:13
Localisation : Poitou

Re: PBMap - OpenStreetMap dans un Canvas

Message par yves86 »

Bonjour,
Super la recherche par nom. Mais il y a un petit pb : J'ai fait un essai avec un nom de commune "Montlaur". Il y a en 4 en France (dept 11, 12, 26 et 31) avec ce nom mais la liste n'en ramène qu'une seule.
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 »

Oui, la géolocalisation est assez incomplète. C'est assez facile à améliorer, et on pourrait aussi faire de la recherche d'itinéraire. Pour l'instant je suis sur autre chose, mais si j'ai cinq minutes...
Répondre