Click here to Skip to main content
15,886,069 members
Articles / Programming Languages / C#
Article

Map Grabber on C#

Rate me:
Please Sign up or sign in to vote.
4.63/5 (18 votes)
12 May 2008GPL33 min read 87.6K   5.5K   63   15
Prepare maps for your holidays, your walking, your bike trips, your geocaching...

MainScreen.jpg

Introduction

Grab maps ....

Prepare maps for your holidays, your walking, your bike trips, your geocaching... You
can next print them or use them with your GPS!

This utility automatically scrolls, captures, assembles and saves maps (or other window content) from a Web page to a JPG file.

Background

(Optional) Is there any background to this article that may be useful such as an introduction to the basic ideas presented?

Using the code

How to use?

- Go to the desired Web site, maximize your browser window.
- Locate the desired area on the map and zoom to the desired scale.
- In order to MapGrabber automatically realize the right scrolling, you have to parameter it according to the Web site.
Press the button 1 in MapGrabber (see illustrations), next click on the left/top corner of the map. To avoid capturing the toolbar, you can define the corner just below it.
Press the button 2 in MapGrabber, next click on the right/bottom corner of the map.
- To devide output image by slises, set the steps in one part.
- If you would like to calibrate maps in time of grabbing, you can use GPS Callibration part of the MapGrabber

You can now Save the settings for future use; each Web site will have its own settings.
The main screen:

MainScreen.jpg

- Menu:
Settings - Load and save your current settings for future using.
Help - The link to this page and information about me.

- Map Settings:
The position of left/top and right/left bounds of map, without active elements, on the screen. You can set points by enter the coordinates or by clicking on button "Point" and dragging the point.gificon to he's place on the screen.

- Capture Settings:
Delay Scroll - When Map grabber moving the map in map display program (Firefox), to program take time to response for her events. So need to delay Map grabber events according to response of display program.
Delay Capture - When Map grabber the map in map display program (Firefox), to load new images take some time. So you must set the parameter according to speed image loading.
Number of X/Y Steps - How match steps to do.

- Output image settings:
Divide Image X/Y - By how match steps divide the output image. Some programs that using output maps on pocket PC, take a lot time to load big image.
Map Path - The output image folder.

- With GPS calibration - Enable GPS automatic GPS calibration of output map.

- Show/Hide points - show/hide the map settings and GPS calibration points.

- GPS Calibration:
First point X/Y - The point of place that you know her GPS coordinates. You can set points by enter the coordinates or by clicking on button "Point" and dragging the icon to her place on the screen. You can use the magnifier to put the icon exactly to place of GPS coordinates.
First point Lat/Lon - The GPS coordinates of point.


Magnifier/Status window:

Magnifier.jpg

Points:

capture-screen.jpg

Prior to start capturing, set the amount of horizontal and vertical steps you desire.
Press the button Start.

Know Bugs:

found by me and another users.
- Memory out when grabbing more than 10X10 screens.

TODO:

what in next version.
- grab large size maps
- The GPSTuner have auto map loading feature. We can use maps with different resolution, and different level of information on map. That provide option in time of zoom out or zoom in, change maps automatically. So I want to add feature - grabbing maps with some levels of zoom.

Links / Credits

Main Site of Project

Project Page on MSDN Code Gallery
Project Page on CodePlex
GPS Tuner - is an off-road navigation software for Pocket PC devices. The maps of Map Grabber is collibrated for this programm.

Capturing the Screen Image in C#
Processing Global Mouse and Keyboard Hooks in C#

Disclaimer

Personal use only. Use at your own risk. No technical support given. Don't copy or distribute copyrighted media.
Screen captures will never replace a bought genuine printed map.

License

This article, along with any associated source code and files, is licensed under The GNU General Public License (GPLv3)


Written By
Software Developer (Senior) Easy-Forex Technology
Israel Israel
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
QuestionLooks interesting Pin
Member 945127417-Mar-14 10:28
Member 945127417-Mar-14 10:28 
Questiongps coordinates plotting on offline maps Pin
Member 104535748-Dec-13 23:35
Member 104535748-Dec-13 23:35 
GeneralMy vote of 1 Pin
mheskol25-Apr-12 0:01
mheskol25-Apr-12 0:01 
GeneralMy vote of 1 Pin
mheskol14-Feb-09 8:06
mheskol14-Feb-09 8:06 
GeneralWorks OK with google Map but not google earth Pin
kedanz22-Jan-09 3:13
kedanz22-Jan-09 3:13 
GeneralProblem Pin
Tosdo18-Mar-08 22:36
Tosdo18-Mar-08 22:36 
GeneralVery nice tool ! Pin
Eyal Lantzman1-Mar-08 21:23
Eyal Lantzman1-Mar-08 21:23 
GeneralRe: Very nice tool ! Pin
Yuri Panshin1-Mar-08 21:32
Yuri Panshin1-Mar-08 21:32 
GeneralRe: Very nice tool ! Pin
Eyal Lantzman1-Mar-08 21:51
Eyal Lantzman1-Mar-08 21:51 
GeneralRe: Very nice tool ! Pin
Yuri Panshin1-Mar-08 22:22
Yuri Panshin1-Mar-08 22:22 
GeneralRe: Very nice tool ! Pin
Eyal Lantzman1-Mar-08 22:28
Eyal Lantzman1-Mar-08 22:28 
GeneralRe: Very nice tool ! Pin
Yuri Panshin1-Mar-08 22:35
Yuri Panshin1-Mar-08 22:35 
GeneralVery Nice Pin
merlin98127-Feb-08 4:39
professionalmerlin98127-Feb-08 4:39 
GeneralRe: Very Nice Pin
Yuri Panshin27-Feb-08 7:00
Yuri Panshin27-Feb-08 7:00 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.