PBMap - OSM, Here, Geoserver maps in a Canvas gadget

Applications, Games, Tools, User libs and useful stuff coded in PureBasic
User avatar
djes
Addict
Addict
Posts: 1806
Joined: Sat Feb 19, 2005 2:46 pm
Location: Pas-de-Calais, France

Re: PBMap - OSM, Here, Geoserver maps in a Canvas gadget

Post by djes »

Thank you for your code and your report, Michael. I'll try this evening.
User avatar
djes
Addict
Addict
Posts: 1806
Joined: Sat Feb 19, 2005 2:46 pm
Location: Pas-de-Calais, France

Re: PBMap - OSM, Here, Geoserver maps in a Canvas gadget

Post by djes »

Michael Vogel> I can't recreate the bug on x86 and x64. I've tried clicking several seconds on normal pbmap application and multiple maps, nothing. Could you give me more details, please ?
vwidmer
Enthusiast
Enthusiast
Posts: 282
Joined: Mon Jan 20, 2014 6:32 pm

Re: PBMap - OSM, Here, Geoserver maps in a Canvas gadget

Post by vwidmer »

@djes: can you or actually I guess any one just test this?

Code: Select all

Case #PB_EventType_RightClick
        Debug "Right click"
        Debug Pixel2Lat(CanvasMouseX)
        Debug Pixel2Lon(CanvasMouseY)
If I click center of the circle in the middle of the map the Lon I get back is the bottom of the canvas I think but its just not matching up with the center of the circle.

The Lat is fine.

Thanks
WARNING: I dont know what I am doing! I just put stuff here and there and sometimes like magic it works. So please improve on my code and post your changes so I can learn more. TIA
User avatar
Michael Vogel
Addict
Addict
Posts: 2666
Joined: Thu Feb 09, 2006 11:27 pm
Contact:

Re: PBMap - OSM, Here, Geoserver maps in a Canvas gadget

Post by Michael Vogel »

Hard to find a pattern when the program gets unstable, most often it happens when coordinates are entered manually (0/0 or 52/0) followed by a 'Enter' and then I do one (or some more) double click(s) to move the center point of the map. Another time the crash could be reproduced when entering a location name ("greenwich") instead of the lat/lon coordinates or to enter the location name directly after the coordinates have been entered.

Some other times I can do the same things with no single crash, maybe it depends on how long the cache tiles need to be loaded from the internet (maybe you can try to add a delay into these routines just for a test).

Sorry I can't give you more detailed information at the moment...

Code: Select all

[09:46:27] [COMPILER] Line 354: File not found (C:\Users\Michael\AppData\Local\Temp\gettext.pbi).
:
[09:47:05] The Program execution has finished.
[09:47:11] Waiting for executable to start...
:
[09:47:13] The Program execution has finished.
[09:47:19] Waiting for executable to start...
[09:47:19] Executable type: Windows - x86  (32bit, Unicode, Thread)
[09:47:19] Executable started.
[09:48:33] [ERROR] Line: 1241
[09:48:33] [ERROR] Invalid memory access. (read error at address 4294967293)
[09:48:55] The debugged executable quit unexpectedly.
[09:48:58] Waiting for executable to start...
[09:48:57] Executable type: Windows - x86  (32bit, Unicode, Thread)
[09:48:58] Executable started.
[09:51:23] [ERROR] Line: 1241
[09:51:23] [ERROR] Invalid memory access. (read error at address 4294967293)
[09:53:48] The debugged executable quit unexpectedly.
[09:57:21] Waiting for executable to start...
[09:57:21] Executable type: Windows - x86  (32bit, Unicode, Thread)
[09:57:21] Executable started.
[09:58:19] [ERROR] Line: 1143
[09:58:19] [ERROR] Invalid memory access. (read error at address 4294967293)
[09:58:45] The debugged executable quit unexpectedly.
[07:08:59] Waiting for executable to start...
[07:08:59] Executable type: Windows - x86  (32bit, Unicode, Thread)
[07:08:59] Executable started.
[07:12:18] The Program execution has finished.
[07:12:23] Waiting for executable to start...
[07:12:23] Executable type: Windows - x86  (32bit, Unicode, Thread)
[07:12:23] Executable started.
[07:12:37] [ERROR] Line: 1143
[07:12:37] [ERROR] Invalid memory access. (read error at address 4294967293)
[07:12:57] The Program was killed.
[07:13:04] Waiting for executable to start...
[07:13:04] Executable type: Windows - x86  (32bit, Unicode, Thread)
[07:13:04] Executable started.
[07:13:51] The Program execution has finished.
[07:13:56] Waiting for executable to start...
[07:13:56] Executable type: Windows - x86  (32bit, Unicode, Thread)
[07:13:56] Executable started.
[07:14:22] The Program execution has finished.
[07:14:31] Waiting for executable to start...
[07:14:31] Executable type: Windows - x86  (32bit, Unicode, Thread)
[07:14:31] Executable started.
[07:14:54] [ERROR] Line: 1474
[07:14:54] [ERROR] Invalid memory access. (read error at address 4294967293)
[07:15:10] The debugged executable quit unexpectedly.
[07:17:20] Waiting for executable to start...
[07:17:19] Executable type: Windows - x86  (32bit, Unicode, Thread)
[07:17:20] Executable started.
[07:17:42] [ERROR] Line: 1347
[07:17:42] [ERROR] Invalid memory access. (read error at address 4294967293)
[07:17:50] The Program was killed.
Just a small point I would change for the edit gadgets - these three lines of code for selecting the whole text when getting the focus:

Code: Select all

Case #StringLatitude, #StringLongitude
Select EventType()
Case #PB_EventType_Focus
	CompilerIf #PB_Compiler_OS=#PB_OS_Windows
		SendMessage_(GadgetID(Gadget),#EM_SETSEL,0,-1)
	CompilerEndIf
	AddKeyboardShortcut(#Window_0, #PB_Shortcut_Return, #MenuEventLonLatStringEnter)
User avatar
djes
Addict
Addict
Posts: 1806
Joined: Sat Feb 19, 2005 2:46 pm
Location: Pas-de-Calais, France

Re: PBMap - OSM, Here, Geoserver maps in a Canvas gadget

Post by djes »

Ok, thanx for the feedback, I'll test soon.
Don't forget that the project needs contributors, you're welcome ! :)
User avatar
djes
Addict
Addict
Posts: 1806
Joined: Sat Feb 19, 2005 2:46 pm
Location: Pas-de-Calais, France

Re: PBMap - OSM, Here, Geoserver maps in a Canvas gadget

Post by djes »

It seems that compiling with PB 5.62 leads to crash, when compiling with oldest 5.60 is OK. Anybody can confirm ?
User avatar
Andre
PureBasic Team
PureBasic Team
Posts: 2056
Joined: Fri Apr 25, 2003 6:14 pm
Location: Germany (Saxony, Deutscheinsiedel)
Contact:

Re: PBMap - OSM, Here, Geoserver maps in a Canvas gadget

Post by Andre »

djes wrote:It seems that compiling with PB 5.62 leads to crash, when compiling with oldest 5.60 is OK. Anybody can confirm ?
I use the PBMap include from March 2018 without problems, when compiling it as part of my GeoWorldEditor with PB5.62 :)
Bye,
...André
(PureBasicTeam::Docs & Support - PureArea.net | Order:: PureBasic | PureVisionXP)
User avatar
djes
Addict
Addict
Posts: 1806
Joined: Sat Feb 19, 2005 2:46 pm
Location: Pas-de-Calais, France

Re: PBMap - OSM, Here, Geoserver maps in a Canvas gadget

Post by djes »

Very strange. I have to investigate ! Maybe next week...
User avatar
djes
Addict
Addict
Posts: 1806
Joined: Sat Feb 19, 2005 2:46 pm
Location: Pas-de-Calais, France

Re: PBMap - OSM, Here, Geoserver maps in a Canvas gadget

Post by djes »

vwidmer wrote:@djes: can you or actually I guess any one just test this?

Code: Select all

Case #PB_EventType_RightClick
        Debug "Right click"
        Debug Pixel2Lat(CanvasMouseX)
        Debug Pixel2Lon(CanvasMouseY)
If I click center of the circle in the middle of the map the Lon I get back is the bottom of the canvas I think but its just not matching up with the center of the circle.

The Lat is fine.

Thanks
Sorry for the delay, I've missed your post. These functions are not to be used to convert a canvas position, but to convert an internal x, y representation in pixel to lon, lat. If you want the mouse position, just use the GetMouseLon() and GetMouseLat() functions:

Code: Select all

      Case #PB_EventType_RightClick
        Debug "Right click"
        Debug GetMouseLongitude(MapGadget)
        Debug GetMouseLatitude(MapGadget)
All> I don't have any crash since my last windows update... Anyone suffering crashes ?

Last update here, as usual : https://github.com/djes/PBMap/tree/djes
User avatar
Paul
PureBasic Expert
PureBasic Expert
Posts: 1243
Joined: Fri Apr 25, 2003 4:34 pm
Location: Canada
Contact:

Re: PBMap - OSM, Here, Geoserver maps in a Canvas gadget

Post by Paul »

Is this still maintained at all?

It looks very interesting but it randomly crashes when zooming the map in or out.
Image Image
User avatar
djes
Addict
Addict
Posts: 1806
Joined: Sat Feb 19, 2005 2:46 pm
Location: Pas-de-Calais, France

Re: PBMap - OSM, Here, Geoserver maps in a Canvas gadget

Post by djes »

Hi, nice to see that someone is using it. In fact, there isn't much activity especially because of the lack of users... As pbmap relies on more pb functions, it's essential to know your platform, pb version and some details on the bug.
vwidmer
Enthusiast
Enthusiast
Posts: 282
Joined: Mon Jan 20, 2014 6:32 pm

Re: PBMap - OSM, Here, Geoserver maps in a Canvas gadget

Post by vwidmer »

I am using PBMap everyday :) with very slight modifications... And couple other map sources.. Its very nice.. Thanks
WARNING: I dont know what I am doing! I just put stuff here and there and sometimes like magic it works. So please improve on my code and post your changes so I can learn more. TIA
User avatar
djes
Addict
Addict
Posts: 1806
Joined: Sat Feb 19, 2005 2:46 pm
Location: Pas-de-Calais, France

Re: PBMap - OSM, Here, Geoserver maps in a Canvas gadget

Post by djes »

vwidmer wrote:I am using PBMap everyday :) with very slight modifications... And couple other map sources.. Its very nice.. Thanks
Good to know ! :)
User avatar
Paul
PureBasic Expert
PureBasic Expert
Posts: 1243
Joined: Fri Apr 25, 2003 4:34 pm
Location: Canada
Contact:

Re: PBMap - OSM, Here, Geoserver maps in a Canvas gadget

Post by Paul »

On Windows 8.1 x64 / PB 5.70 x86 when moving the map and zooming in/out quite a bit there are constant Invalid Memory Access errors in Procedure GetImageThread(*Tile.Tile)

Usually the compiler gives this line
*Tile\Download = ReceiveHTTPFile(*Tile\URL, *Tile\CacheFile, #PB_HTTP_Asynchronous, #USERAGENT)

or this one
*Tile\Size = FinishHTTP(*Tile\Download)

Tried it on Mac and it also crashes with Invalid Memory Access :(
Image Image
User avatar
djes
Addict
Addict
Posts: 1806
Joined: Sat Feb 19, 2005 2:46 pm
Location: Pas-de-Calais, France

Re: PBMap - OSM, Here, Geoserver maps in a Canvas gadget

Post by djes »

Thank you. Have you tried to clear the cache ? Sometimes a malformed/incomplete file can't be replaced on the disk and leads to a crash.
Post Reply