Forum > Packages and Libraries

Any Lazarus-compatible map library for using maps from Google/Bing/any other?

<< < (2/3) > >>

blankname:
Oh, found a solution: GetMapProviders.

Another thing: is there a possibility of drawing the map recursively when it's not zoomed? For now, when zoom is on the lowest level, I get full map of the World with white borders.

loaded:
It's an idea, not a solution;
It's been a long time since I used LazMapViewer.
But as far as I remember, you can review the source code for your problem and make your own solution or if you have time LazMapViewer is a great tutorial, it helps you understand the logic.
Then you can even write your own map view engine.

wp:

--- Quote from: blankname on January 05, 2022, 09:59:48 pm ---I've checked LazMapViewer a while ago, and it's bugged as hell.

--- End quote ---
The original authors have left, and you can be lucky that someone (myself) at least takes care of the basic maintainance of the package... I know of a variety of bugs, but since the component heavily depends on threads it is quite difficult to debug (for someone who did not write this stuff). When you find a specific bug please report it. A statement like "bugged as hell" will be ignored, sorry.


--- Quote from: blankname on January 06, 2022, 01:40:20 pm ---is there a possibility of drawing the map recursively when it's not zoomed? For now, when zoom is on the lowest level, I get full map of the World with white borders.

--- End quote ---
The mapviewer loads predefined png images of - I think - 512x256 pixels from the servers specified. At the lowest zoom level, the png image covers the entire world, and the display consists of one single bitmap. So, when your window is larger than 512x256 the map will be surrounded by a white border in this case.

blankname:

--- Quote from: wp on January 06, 2022, 02:57:03 pm ---The mapviewer loads predefined png images of - I think - 512x256 pixels from the servers specified. At the lowest zoom level, the png image covers the entire world, and the display consists of one single bitmap. So, when your window is larger than 512x256 the map will be surrounded by a white border in this case.

--- End quote ---
The problem is that the white border is not a normal background. When I move the map, the closest-to-the-border pixels of it are drawn on the background, so it looks like drawing with a brush. :(

wp:
This is because the background bitmap is not erased for better speed performance. Normally zoom levels are quite large so that the "edges of the world" almost never make it into the drawing area and the issue is not observed.

I tried to call a window erasing procedure in such cases, but this makes the reaction of the component rather sluggish. Seeking for a better solution...

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version