Exploration Guides

We're all explorers. You just need the right guide.

EGMaps API Now Available!

Ever wanted to share your GPS data with friends?  Strangers?  Everyone on the planet?

Wish you had an easy way to get your trail maps to everyone in your hiking club, or maybe everyone who comes to your favorite park?

Need a way to get customers to all your locations using their Android smartphone?

Does your sculpture garden need unobtrusive audio or video guide for visitors?

The EGMaps API is for you!  This free tool is now available to everyone, and it does all that, and more.  Using your GPS data, or even data you generate directly on a program like GoogleEarth, you can produce and distribute your own professional Android app.

Don’t worry!  You don’t need to know anything about programming.  I promise.  Just follow the simple, step-by-step instructions and your app will practically build itself.  All the hard work is done by the EGMaps app itself, and we’ve already taken care of that part for you.

Want to learn more?

Ready to download the API and sample data (for our Niagara River Fish Trail app)?

Can’t wait to see how it looks?  Go to Google Play and get our Niagara River Fish Trail app.

 

June 2, 2014 Posted by | apps, EGMaps | | Leave a Comment

EGMaps – Download API and Sample Files

To use the EGMaps API, you’ll need to download it first.  Just click the link below and save it to your hard drive.

This file includes both the EGMaps API and a full set of sample data (for our Niagara River Fish Trail app) to work with.

EGMapsAPIv1

After you’ve downloaded the API, click here to go back to the main EGMaps page.

June 2, 2014 Posted by | | | Leave a Comment

EGMaps – Publish Your New App

Congratulations!  You’ve collected your data, built your app, tested it, and now you’re ready to share it with the world.  You’re nearly there.

Capture some screen shots

You can’t publish your app without people being able to see it.  You’ll need at least two images and, if you can, get images on different size devices, too, ideally a phone and a tablet.  There are two ways to do this.

  1. While your Android is hooked up to the computer and running your new app:
    1. In Eclipse, click on the DDMS button in the upper-right corner.
    2. In the Devices window, click on your device.
    3. With the screen exactly the way you want it, click on the camera icon at the top of the Devices window.
    4. Click on the Save button and save the image to the location of your choice.
  2. While your Android isn’t hooked up to the computer:
    1. In your app, move so the screen is exactly what you want.
    2. At the same time, press and hold the power and volume down buttons on your Android.  After you’ve held it for 1-2 seconds, you’ll hear a camera shutter and the screen will momentarily resize.  The screenshot is stored in your Android’s gallery, just like any photos you take with your Android.

If you’re hooked up to your computer, or even if you’re not, but you’re not at the location you want the current location marker to be on your screenshots, you’ll want to use one of many fake location apps.  These apps allow you to select a false location, which is then fed to the Android instead of the actual GPS coordinates.  Just be sure you remember to turn it off again before you actually try to use your GPS.

Get your unique signing certificate

The signing certificate is critical to your app and your ability to update it.  Keep it safe!  Keep it secure!  Back it up in several places and keep the password to it safe at all times.  If you lose it, or lose the password, you won’t be able to publish updates to your app.

Fortunately, Android apps can all be self-signed, which means you can do it free.  Google has good instructions on how to set up your signing certificate at http://developer.android.com/tools/publishing/app-signing.html#cert .

If you release any updates to this app, it’s critical that you use exactly the same signing certificate.  If you don’t, your users will get error messages when they try to install the update.  Error messages don’t make for happy users.

Export your signed app

Now it’s time to create the actual release version of your app.  It’s a quick, easy process.

  1. Go to Eclipse and open your app.
  2. In the Package Explorer window, right-click on your package.
  3. Click Android Tools/Export Signed Application Package.
  4. Verify that your project name is listed and that it says there are no errors.
  5. Click Next.
  6. Select your keystore and enter your password.
  7. Click Next.
  8. Select your key and enter your password.
  9. Click Next.
  10. Select the path and file name for your distributable package.
  11. Click Finish.

Publish!

You now have a fully-functional, distributable Android app, just wanting to be downloaded by countless prospective users.  Now you have to put it somewhere they can find it.  Generally, you should at least publish to Google Play, as they have a huge user base who trust the apps published there.  You can also publish to your own web site, or other Android app stores.

To publish to Google Play, just follow these instructions provided by Google at http://developer.android.com/distribute/googleplay/publish/preparing.html .

Test again

What?  You thought you were done?  Nearly there.  You just need to make sure there aren’t any problems with the release version of your app.

  1. Remove your app from your Android.
  2. Go to Google Play, or any other location you’ve published your app.
  3. Install from that location, just like your users will.  It may take a little time to show up.  Google Play will usually make them available within a few hours.  Other app stores may take considerably longer.
  4. Make sure everything still works.

A word of warning to developers

Android is made inherently more secure by use of signing certificates, but those same certificates can sometimes be annoying for developers.  Since you can only update an app if the signing certificate is exactly the same, you need to fully remove the testing app before you can install the production version, and fully remove the production app before you can install the testing version.  These errors can be annoying, and can appear in strange places.

If you receive an error when loading any app you were involved in writing or testing, remove the app from your Android and then you can probably install successfully.

If you are still unable to install, if you can’t install the production version, install the test version.  If you’re unable to install the test version, install the production version.  Now that you have a version installed, even though it’s the wrong version, you can remove it and then install the version you want.

Congratulations!

You’ve now published your app.  It wasn’t always easy, but we knew you could do it.  Give yourself a well-earned reward, then start publicizing your new app, and don’t forget to get working on your next one.

May 12, 2014 Posted by | | | Leave a Comment

EGMaps – Test Your Data

Congratulations on getting this far.  You’re nearly done.

Testing your data consists of three main parts: verify initial data load, verify correct amount of data, verify data on the map.

Verify Initial Data Load

The first type of data error will actually prevent EGMaps from loading the data at all.  This type of error is usually caused by a typo or bad file name.  These errors will cause EGMaps to give you an error and crash at load time.  To find the problem, try to see how much data loads before it crashes.

If it crashes pretty much immediately after launching EGMaps, you probably have an error in your Point of Interest data.  In our experience, this is usually caused by missing or extra quotes, attempting to use special characters, including slash, backslash, or single quotes, in names, or not including an elevation (remember, if you don’t know an elevation, just make an educated guess, or enter 0).

You can often quickly identify these structural problems by just looking at the data in your data files and making sure it looks like the data in the examples.  Refer to the instructions for data formatting for more info.

Once you’ve got your data files loading, it’s time to make sure you actually got all of it.

Verify Correct Amount of Data

  •  Only see “GPS Status… up”  No data loaded:  This is probably due to your config file either not being loaded correctly, or not existing where EGMaps expects to find it.  Check to be sure the names and paths given in strings.xml matches the actual names and locations
  • No line shown for “New points of interest: In your config file, be sure that you have a line hasPOIs=Y 
  • No data lines shown for trails or favorites: In your config file, be sure that you have a line hasTrails=Y
  • One or more data lines shows zero new items: This may be ok, as long as the total number is correct.  Once EGMaps successfully loads a data file, it won’t try to load it again unless you delete the app data or the app itself. If it has zero total, also, then your data file is likely missing.  Check to make sure the name and path given in your config file matches that actual names and paths.
  • It’s reading some data, but the numbers of POI’s, trail segments, favorites, etc, is wrong: If you have multiple files, did it miss an entire file?  If so, check the names and paths.  Is it missing only some of the data?  Your data file may have errors (look especially for missing/extra quotes, missing commas, etc).

If you’ve corrected your data, you may want to erase all the data and force a full reload.  To do this, exit from EGMaps, then go to the main menu on your Android, pick Manage Apps, and scroll down to EGMaps.  Tap EGMaps (not your own app), then tap the Clear data button.  Note, this will erase all the data on your Android saved by EGMaps, so the next time you run any app which uses it, you’ll have reload that data.  Now you can test again.

Verify Data On Map

Good news!  The hard work is all done.  This part should be easy.

  1. Verify your points of interest
    1. A common mistake is to miss a negative sign, or add one where it doesn’t belong.  This is easy to find.  Zoom way, way, WAY out.  Now look around the planet and see if you see any stray icons that aren’t even close to where they belong.  Remember, northern latitudes and eastern longitudes are positive.  Southern latitudes and western longitudes are negative.
    2. Once they’re all in the right place, do they all have the right icon?  If not, make sure you remembered to put the correct file, with a file name made up of all lower-case letters, into your app’s drawable folder.
    3. Tap on each and every icon.  Make sure the name comes up correctly.
    4. Long-press on each and every icon to make sure it goes where you want it to.  Yes, this may take a while, but if you don’t do it, rest assured, your users will find problems later.
  2. Verify your trails
    1. Check all of your trails and make sure they’re all there, all the right color, and all going the right places.
    2. One by one, go through each and every one of your favorite trails to make sure all the right trail segments are selected, but no extra segments.

If you found problems with your data, clear all the data from EGMaps and try again.  Keep clearing and testing until all your data is perfect.

Once you’re happy with your data, it’s finally time to publish your app.

May 11, 2014 Posted by | | | Leave a Comment

EGMaps – Compile and Test Your App

You’re finally there!  It’s time to see if all your hard work actually results in an app that really works.

Before you get too excited, a word of caution.  Any programmer will tell you that the likelihood of any program working right the first time is just about zero.  The good news, though, is that there aren’t many places where you’ll need to look to fix problems.

  1. In Eclipse, click the Java button in the upper-right to go back to the normal programming screen
  2. Find your app in the Package Explorer window, and open it, if it’s not already open.
  3. Plug in your Android, changing to whatever mode you found worked on it (probably Media Device).
  4. Is there a red X on your app?  A red X indicates that there’s an error somewhere you need to fix before you can proceed.  No red X?  Skip down to step 5
    1. Under the name of your app, you’ll also have a red X on one or more of the files or folders.  Assuming you only edited the files described in these instructions, it shouldn’t be too hard to fix.
    2. If the red X is on the src folder:
      1. Double-click on src
      2. Double-click on the java name of your app below src
      3. Double-click on Main.java to open it, if it’s not already open.
      4. In Main.java, there will be one or more lines with a red X.
        1. If the red X is on a line near the top that starts off Import and ends in .R, just delete that line.
        2. If the red X is on the top package line, the name of the package here, in the Package Explorer window, and in your AndroidManifest.xml file.  Just make sure they all match, including case.
      5. Click File/Save All and the error should go away.
    3. If the red X is on the res folder:
      1. Double click res
      2. If the red X is on the drawable folder
        1. You probably have a bad file name.  These files should all be lower-case, no spaces or symbols, and end in .png
        2. When you’ve fixed the problem, right-click on drawable and click Refresh.
        3. Click File/Save All.
      3. If the red X is on the values folder
        1. Double-click values
        2. If strings.xml isn’t already open, double-click to open it.
        3. One or more lines will be marked with an X in the left margin.  Chances are, you put in an illegal character in one of your strings, or maybe missed a quote.
        4. When you’ve fixed the problem, click File/Save All.
      4. If the red X is on the layout folder
        1. This means you probably didn’t put a logo.png file into the drawable folder.
        2. Copy your logo.png file into the drawable folder
        3. Right-click drawable, then click Refresh.
        4. Click File/Save All.
    4. If the red X on on Android Manifest.xml
      1. If the red X is on the package line at the top, the package name here doesn’t match the package name listed under src,  The package names must match everywhere.  Fix this, then click File/Save All.
      2. If the red X is on the android:icon line, your probably didn’t put a file named icon.png into the drawable folder.
        1. Put your icon file into that folder
        2. Right-click on drawable and click Refresh.
        3. Click File/Save All.
  5. If Main.java is already open, click in that file.  Otherwise, open it under src/<your app package name>.
  6. Make sure your Android is plugged in, that the screen saver is off and that you’re on the home screen.
  7. The first time you try to run your app:
    1. In Eclipse, click Run/Run Configurations
    2. Click on the Target tab
    3. Check Always prompt to pick device, then click the Run button.
  8. If you’ve already run your app at least once, just click Run/Run.
  9. Your device should show up in the top window.  Don’t worry if it has a red X under Target, that just means you’re running an older Android. It should be listed as Online.
  10. Click on your device, then click OK.
  11. You should receive the initial animation splash screen, then you should launch EGMaps.  As long as EGMaps launches into the update screen, that means your code is probably good, and now you need to test your data.

 

May 11, 2014 Posted by | | | Leave a Comment

EGMaps – Connect Your Test Android To Your Computer

Google’s Android SDK in Eclipse comes with a great Android emulator which lets you use an emulator on your computer, instead of a physical device, to test your app.  It works great, unless you need Google Play (which you do) or GPS (which you do) or compass (which you do).  Fortunately, you don’t have to use the emulator.  You can just plug your Android straight into your computer and use that for testing, instead.

It seems so simple, right?  You just plug your phone into your computer and they just talk to each other, right?  Well, not quite.  Mostly due to security issues, you plug your phone into your computer and your computer can see a handful of files on your phone.  You actually do need it to communicate much better than that.  Fortunately, it’s usually not all that hard to make them talk to each other.

Google has written some pretty good instructions for connecting your Android device to your computer for testing your app.  You can access it http://developer.android.com/tools/device.html .

The thing that most people screw up is the USB configuration.  If you’re using Windows, you need to use the right vendor driver for your device.  If you’re using Linux, you have to have the right vendor ID (listed below as of 5/11/2014, although they do change).  Remember that whenever you get a new Android and want to test with it, you’ll need to change either the USB driver or the USB vendor ID. 

Now make sure your computer can see your Android.  In Eclipse, with your Android plugged into USB, click on DDMS in the far upper-right corner.  This brings up the DDMS view.  In the Devices window, you should now see your Android listed.  It should list the version of Android software it’s running, and should say On-line.  If not, go back to http://developer.android.com/tools/device.html and see if you missed anything.

You may also need to change the USB connection mode on your Android.  If Eclipse can’t see your Android, sweep down the notification bar and you should see a USB symbol and it will say something like, “Connected as a______________”. Media Device (MTP) seems to work well, but try others, as well, if that doesn’t work.

Once you’re connected, you’re ready to start testing.

Company USB Vendor ID
Acer 0502
ASUS 0b05
Dell 413c
Foxconn 0489
Fujitsu 04c5
Fujitsu Toshiba 04c5
Garmin-Asus 091e
Google 18d1
Haier 201E
Hisense 109b
HTC 0bb4
Huawei 12d1
Intel 8087
K-Touch 24e3
KT Tech 2116
Kyocera 0482
Lenovo 17ef
LG 1004
Motorola 22b8
MTK 0e8d
NEC 0409
Nook 2080
Nvidia 0955
OTGV 2257
Pantech 10a9
Pegatron 1d4d
Philips 0471
PMC-Sierra 04da
Qualcomm 05c6
SK Telesys 1f53
Samsung 04e8
Sharp 04dd
Sony 054c
Sony Ericsson 0fce
Teleepoch 2340
Toshiba 0930
ZTE 19d2

May 11, 2014 Posted by | | | Leave a Comment