No announcement yet.

Free full screen topo maps & display KML files

  • Filter
  • Time
  • Show
Clear All
new posts

  • Free full screen topo maps & display KML files

    Hello Everyone,

    My name is Joseph Elfelt and I have a Thanksgiving Day present for you. I’ve written a map viewing program that is similar in concept to the work by colden46 on this site, but with some different features. My viewer is free, full screen, no ads. Here’s Lake Algonquin:,-74.292641

    The topos come from MyTopo.
    These maps include the USFS updates to the USGS maps. These updates include USFS road numbers and cover many (but certainly not all) national forest areas. The MyTopo maps are also better quality than the Terraserver maps and (I’m told) also better quality than the NG TOPO maps. I believe they include Canada.

    The gmap4 map viewer understands these parameters:
    q= http: pointer to a kml file anywhere online.
    ll= map center. For North America use lat,-lon decimal degrees (same as Google, etc)
    z= map zoom
    t= map type

    I’ve not implemented searching (yet). Use plain old Google maps to search. Point to what you found ==> right click ==> What’s this? ==> copy lat,lon from map search window ==> launch gmap4:

    I live near Redmond, WA and here’s a map of a hike I’ve done in the Washington State Cascades
    Did you notice the embedded picture link?

    You can make similar maps of your trips and post links in your trip reports. There's no cost.
    1. Convert your GPS data to a kml file
    2. Put your kml file online. Make sure other people have ‘read’ permission for the file.
    3. The link to your map is:

    Here are some of the ways you can obtain a kml file containing your GPS and related data:
    A. GPSBabel They re-designed their website since I saw it last. Easily convert GPX to KML.
    B. GPSVisualizer. The output includes a fair bit of clutter in the form of tags that are used by Google Earth but are ignored by Google maps.
    C. By hand. Here is the documentation from Google and there are examples in the tutorial. You must save a kml file with UTF-8 encoding. I use the free Notepad++ for editing kml files. Since kml files are a type of xml file, it really helps a lot to use an editor designed for working with xml files.

    See the kml source file I used in the above example map for one approach for organizing the contents of a kml file.

    <edited>Oh, and anything you include in the <Document><name> tag is treated as a caption and gets welded to the top of the map. See my example source files.</edited>

    To launch gmap4:


    or to see the default map (Google’s campus at Kirkland, WA)

    To fully specify a map, use all 4 parameters.

    But what if you don’t have your own website for hosting your kml file online? No worries. You can store your kml file in the cloud as a Google Document txt file and read it with the gmap4 map viewer. Since I’ve already given you a bunch to think about in this post, I’ll save those details for later.

    Teaser: If several people are working together to make a trail map for an area, everyone in that group can pool their data by directly editing the same file in the Google cloud.

    Enjoy and Happy Thanksgiving,
    Joseph Elfelt
    Last edited by Jelf; 09-12-2011, 03:45 PM. Reason: New title to show latest feature

  • #2
    I just remembered something that may help people that have a GPS unit that produces GPX files. You can use Google Earth to convert a GPX file to a KML file. You can then view your GPS data on 7.5” topo maps (full screen, no ads, free) by using the gmap4 map viewer.

    Here’s how to use Google Earth to convert a GPX file to a KML file :

    1. Open your GPX file with Google Earth. Your file can be on your local drive.
    2. File ==> Save ==> Save Place as ==> Set ‘Save as type’ to KML ==> save the file

    All you need to do now is place your KML file online and point to it with the gmap4 map viewer. See my earlier post for details.



    • #3
      Acsess to 55,000 topo satilite imagery shots is impressive. Tx for link. Looncry


      • #4
        Wow, that's awesome. Thanks so much for creating this!!
        Videos --- Camp Loonsong --- Mountains Climbed


        • #5
          Thanks for the kind words.

          The next update will let gmap4 read gpx files directly. Stay tuned...


          • #6
            Originally posted by Jelf View Post
            Thanks for the kind words.

            The next update will let gmap4 read gpx files directly. Stay tuned...
            Awesome tool Jelf! Nice work and thank you. These are so useful when creating routes and evaluating what's been hiked. Do you mind if I put a link from my site to this tool ( )? I've a few already such as googleearth, virtual earth, etc under the links page.
            May you always be a student of the journey. God Bless.


            • #7
              Very nice Jelf. Thanks for the share.
              ...And all that could have been.


              • #8
                P.S. Do you mind if I cross-post this on a couple other forums? I think other people would find this very helpful! I'd give you full credit!
                Videos --- Camp Loonsong --- Mountains Climbed


                • #9
                  Yes, everyone should feel welcome to post about the gmap4 map viewer far and wide.

                  Support for GPX files will be done in a few days. I'll let you know when it's ready.

                  [edit] Please let me know where you post so I will not make an 'intro' post in that same place myself. Thanks.



                  • #10
                    Originally posted by Jelf View Post
                    Yes, everyone should feel welcome to post about the gmap4 map viewer far and wide.

                    Support for GPX files will be done in a few days. I'll let you know when it's ready.

                    [edit] Please let me know where you post so I will not make an 'intro' post in that same place myself. Thanks.

                    Great, thanks! I cross posted it on ADKHighPeaks forum and VFTT.
                    Videos --- Camp Loonsong --- Mountains Climbed


                    • #11
                      Correction to gmap4 map viewer

                      In an earlier post I indicated that any text in the <Document><description> element of your kml file would become a caption that gets welded to the top of your map. Oops! It was a mistake on my part to initially identify that element as the one where gmap4 would pick up text for a map caption. Instead, please use the <Document><name> element if you would like a caption on your map.

                      For example, this is how I coded a three line, bolded caption for the following demo map:
                      <name><![CDATA[<b>Includes part of County Line<br>trail (faint). GPS tracks<br>from 2004 and 2008.</b>]]></name>


                      Gmap4 will now ignore anything in the <Document><description> element of kml files.

                      To read more about adding html to your kml files, and the CDATA tag, please open this link and scroll down a bit:

                      If you use map captions, then I recommend keeping your caption and <name> tags on a single line in your kml file, like so:
                      <name><![CDATA[Your caption here. HTML is OK]]></name>

                      My apologies for any inconvenience this change will cause anyone.

                      Making changes to your map - &refresh=1

                      The MASU (MAppingSUpport) server must keep a copy of your kml file in order to display your data via Google maps. If you change the content of your kml file but do not change your file name, then you need to tell gmap4 that it should re-read your file and make a new copy. You can do this by first placing your revised file online and then launching gmap4 with this additional parameter: &refresh=1
                      For example:

                      After you revise your kml file, you only need to use the refresh parameter one time. Since the refresh parameter causes additional processing, it should not be routinely used. It only needs to be used 1 time after a kml file has been changed.

                      Google cache

                      Google maintains its own cache for kml files. This is different than your browser’s cache. If you make a change to your kml file then you will not see that change in gmap4 until Google decides to refresh its cache of kml files. Sorry about that but it’s out of my hands.

                      Testing kml files with Google Earth

                      Google Earth can read and display kml files from your local drive. If you change your file you can tell Google Earth to refresh itself with the revised data. This is a great tool to help you develop a kml file. The problem I described in the prior paragraph regarding the Google cache does not apply if you develop your kml files with Google Earth.

                      Store your kml files in the Google cloud

                      This feature is unique to gmap4.

                      In order for gmap4 to read your kml file, you must place that file online somewhere. And for those that do not have their own website - no worries - you can upload your data to the cloud as a Google document and let Google host your kml/txt file for free. However, since Google documents does not provide native support for kml files, you need to pay attention and follow these instructions:

                      1. Get a Google account. It’s free.
                      2. Change the extension on your file from kml to txt. Kml files are a type of text file.
                      3. Connect to Google documents and login.
                      4. Spend a little time learning your way around
                      5. Upload your kml/txt file
                      6. “Share” your file for viewing by anyone
                      7. “Publish” your file (check one file box ==> More actions ==> Check the box to “Automatically re-publish” ==> Publish)
                      8. Copy and save the url you get when you “publish”.
                      9. Launch gmap4 to view the data in your “published” file:

                      Replace the underscore with the id for your “published” file:

                      Here is a link to a different version of the demo map you have already seen. This specific file is stored as a Google document. Note that it does not have any caption at the top of the map. That is because this file does not have any text in the <Document><name> element of the kml file.

                      Tech note: Google adds a lot of html code to each file that is uploaded into Google documents. After reading one of these kml/txt files, gmap4 unwraps the html and converts the file back into a normal kml file which can then be read by Google maps. This feature is unique to gmap4.

                      Status of enhancement to support gpx files

                      The coding is finished and testing is underway. Here’s some insight into how this will work. Google maps understands kml files but does not understand gpx files. After I release this enhancement you will be able to launch gmap4 with the q parameter pointing to a gpx file hosted anywhere online. Gmap4 will read that file and use GPSBabel to convert it to a kml file. That conversion step will use the default settings built into GPSBabel. If those default conversion settings do not give you what you want to see on your gmap4 map, then you will need to run GPSBabel yourself and adjust the conversion settings to produce a kml file more to your liking. You can then place that kml file online somewhere and then display that data with the gmap4 map viewer.

                      Future enhancements

                      Actually before working on any more enhancements I really need to write v.1 of a ‘help’ file.

                      High on the list of future enhancements is the ability to click the map and build a list of coordinates. You will be able to copy those coords and save them on your local drive. Of course once the coords are on your drive you can process them with GPSBabel (or various other tools) and convert them into a gpx file or any other kind of file supported by your conversion tool. In this manner you will be able to load coords into your GPS prior to your next trip.

                      Bug reports

                      Please let me know if anything seems awry. I will try to check back here periodically but if I seem AWOL you can always email me through my website:
                      Since gmap4 is under active development, it is certainly possible that in adding a new feature I will accidentally break something that previously worked fine.

                      Joseph Elfelt


                      • #12
                        Here’s some cheery news. The gmap4 map viewer can now read GPX files. You should see version 1.2.041 in the lower left corner of the map. If not, please clear your browser’s cache and try again.

                        If you do not like how your GPX data looks on the map (line width, line color, etc), then it is a simple matter for you to run GPSBabel on your own computer and tweak its options. By doing so you can produce a kml file that you can feed to gmap4 and see your data the way you want it to look.

                        Please do not store GPX files as a Google document. That feature only works for KML files. Some time in the future I will investigate turning this feature on for GPX files.

                        Please let me know if something does not work right.



                        • #13
                          I just finished testing the latest update to gmap4 and it is now ‘live’.

                          Recall that:
                          1. Gmap4 can read both GPX and KML files.
                          2. You have to place your file online before gmap4 can read it.

                          New feature:
                          Gmap4 can now read GPX/txt files that Google is hosting online (for free) as Google documents.
                          The previous version of gmap4 could read KML/txt files that were online as Google documents.
                          You should now see version 1.2.074 in the lower left corner. If not, please clear your browser cache and try again.

                          Since you have to place your data online in order to view it with gmap4, why not let Google host your files for free?

                          Here are improved instructions for placing your kml and gpx files online as Google documents.

                          1. Get a Google account. It’s free.

                          2. Change the extension on your file so it ends in txt.
                          Change: my_hike.gpx to my_hike.txt

                          3. Connect to Google documents and login.

                          4. Click the “upload” button and upload the “txt” file.

                          5. Go back to the file screen and select this new file by checking its box.

                          6. Click Share ==> See who has access.

                          7. In the lower left corner of the popup make sure it says “People can view this item without signing in.” If necessary change the setting so this message appears.

                          TIP: Create a folder and “share” it for viewing by anybody. Then any file you upload into that folder will automatically have the correct “share” setting.

                          WARNING: One of the options under the “Share” button says “Get the link to share...”
                          Don’t go there. Gmap4 does not use any info from that link.

                          8. With the box in front of your new file still checked, click: More actions ==> Publish

                          9. Check the box that says “Automatically re-publish when changes are made”. You will be asked if you want to publish your file. Agree.

                          10. Soon after you agree, Google will display a message similar to this:
                          “Your document is publicly viewable at:”
                          Of course the id code for your file will be different.
                          Copy the id code for your file.

                          You are now ready to launch gmap4 and view the data in your KML or GPX file.

                          Enter the following into your browser bar but replace the xxxxxxxx with your file id code.

                          You can include this link in emails, websites, trip reports, etc

                          Here is an example of the correct way to launch gmap4 when your data file is hosted online as a Google document:

                          My next task is to finish writing a ‘help’ file so there is decent documentation for gmap4.



                          • #14
                            Free full screen topo maps. Display KML &amp; GPX files

                            The Gmap4 map viewer now has a detailed help file.
                            Please take a look at the Quick Start section to get an idea of the kinds of things Gmap4 can help you do.

                            The topographic maps available via Gmap4 cover the USA at 1:24,000 (same as 7.5ʺ quad) and Canada at 1:50,000. Below is a link to a map of the USA-Canada. Just zoom in on something that you want to see and when you find it then click the MyTopo button in order to see a detailed topographic map for that spot:

                            You can look at anything if you know the latitude/longitude.
                            Mt. Rushmore:

                            Yellowstone - Old Faithful:

                            What - You mean you don’t know the latitude/longitude for Pocket Lake, in the Eagle Cap Wilderness of Oregon? (A very neat spot BTW) Not a problem. Search using POGM (Plain Old Google Maps). When you find that which you seek:
                            Point to it ==> Right click ==> What’s Here? ==> Copy the latitude/longitude from the map search window. Then paste that latitude/longitude onto the end of a command to launch gmap4:

                            These topos are from the MyTopo ( company. They scan the paper topographic maps and make their money by selling custom topo maps that you design. While there are not many websites (yet) displaying topographic maps from MyTopo, there are numerous sites that display topographic maps from Terraserver. If you are curious, here is how you can compare the onscreen quality:

                            1. Make your browser full screen.

                            2. In one browser tab, display the MyTopo Yellowstone - Old Faithful map from the above link.

                            3. Open another browser tab and go to

                            4. Enter these coords 45.174716,-117.274332 in the ACME search window and click Find.

                            5. Adjust the ACME zoom control so the tab is on the 4th crossbar from the top.

                            6. Click the ACME ‘Topo’ button to display the Terraserver maps.

                            The MyTopo and Terraserver maps should now have the same center and be the same scale. You can flip back and forth between your two browser tabs and compare the quality.


                            • #15
                              Here's the latest Gmap4 update.

                              Gmap4 can now read Google MyMaps.
                              Also the on-screen interface is cleaner and the Help file has been updated.

                              Here’s an example of a Google MyMap I made for a hike in the Washington State Cascades:

                              Every time you make a MyMap there is a unique ‘id’ code assigned to that map. Gmap4 uses that ‘id’ code to display your MyMap. All you need to do is enter the following command into your browser. Replace the xxxxxxxxxxx.yyyyyyyyyyy with the ‘id’ code for your MyMap. Also, be careful not to let any spaces get into this command:

                              If you do not know the unique ‘id’ code for your MyMap then:
                              1. Display your MyMap
                              2. Click the “link” button in the upper right corner
                              3. Save the link and find where it says: &msid=
                              4. Copy your ‘id’ code. The ‘id’ code begins after the “&msid=”. If you are copying the ‘id’ code and get to a ‘&’ character, then copy everything up to (but not including) the ‘&’ character.

                              Finally, if you have a KML file then Google maps has a feature that lets you "import" that KML file into a MyMap. This is a very quick way to put a KML file online so you can view it on the detailed topographic maps that are available with Gmap4.