Google And MapQuest Directions For A FileMaker Record

From Dwayne Wright - Certified FileMaker 9 Developer
WEB: www.dwaynewright.com
EMAIL: info@dwaynewright.com
TWITTER: dwaynewright

A while back (January 27th 2009, to be exact) a custom function popped up on briandunning.com to allow you to do MapQuest directions for a FileMaker record. At that time, I did what many of us do, mentally filed it away as something to check out during the mythical free time moments. About a week later, someone emailed me and they wondering about how to integrate google maps into a FileMaker record. I passed them the custom function link for the MapQuest function, recommended they search there for google map features as well and again filed the topic away for later review.

As fate would have it, on Saturday morning, I received 27 new feature requests from a client that purchased my FileMaker based CRM product called InBizness. The first item on the list was integration of service calls module to google maps so that technicians could print out map directions to call locations.

Well, I could no longer keep this topic in the “check out someday” file, so I cruised over to the briandunning.com site and did some poking around. I came up with the following ...

GOOGLEDIRECTIONS
Added GoogleDirections from briandunning.com (http://www.briandunning.com/cf/724 ) and submitted by Chris Pye, Mactec, http://www.mactec.com.au. Takes two addresses and returns text formatted as a URL to display a Google Map with directions. This can be used to open a URL or Web Viewer window.

MAPQUEST_DIRECTIONS
from briandunning.com (http://www.briandunning.com/cf/959 ) and submitted by Robert Schaub, Starr Data, http://starrdata.com. Use your start and end address fields from you database or enter your custom find.

I tested both of these out and they seemed to work OK. The google map function seemed to have a problem when there is a comma in the street address. So I thought I’d warn my client about that and see if they want me to program around the possible issue.

ADDING AS A WEB VIEW IN A LOWER TAB PANEL
The first thing I tried was adding the feature as a web viewer within a lower tab in the tab panel. This worked OK but I still had the classic web viewer problem. The web viewer is like an oversized dresser that never really fits in the bedroom. You can move it around and around but it still never fits snugly.

You will need to click on this image to see it in detail. This is the tab panel setup I went with. You can see that I have an opening tab that explains the process, directions for both Google & MapQuest and then tab for maps of the location (sans the directions). These are setup to auto resize with FileMaker 9 but the Web Viewer still takes up a lot of screen real estate.

Pondering how to use the power of the Web Viewer, you may consider ripping out a wall to resolve the issue (and in FileMaker, that is what you do sometimes). However you realize that is a real pain and a huge productivity whole. You consider bringing up a new layout window with the web viewer viewer only but that also is a productivity hole and doesn’t net you much more than what you can do with the Open URL script step.

FYI ... The Open URL Script Step opens a specified Internet URL address or performs other specified URL protocol commands. This means that you can have a combination of web and FileMaker actions within a script that you use in your database solution. Here are some links to other posts that might be of interest in regards to this topic... The Open URL Script Step and EXAMPLE: Open URL Via Portal Records.

COMBINATION PLATE APPROACH FOR THE MAP TAB IN SERVICE
Since custom menus are so flexible and functional, I decided to use this method for utilizing similar mapping features across multiple modules. Of course, this would be much faster for me to implement if FileMaker would support copy and paste features for entire custom menus but that feature hasn’t been added as yet. (hint - hint - hint)

As I mentioned, I started off by implementing this feature in the Service/Support module of my InBizness product. I then added the Google/MapQuest directions Go To URL (via a custom menu) feature into the Clients module using my current set of recycling techniques from my tool bag. I found a couple tweaks that I needed to go and quickly implemented those changes. Now I have the map direction features in two InBizness modules (Support & Clients). Next up, I wanted to do a test to see how long it would take me to add this feature to another module. So I started the timer for the implementation into the Leads module.

I started at 7:58 AM and finished up the implementation at 8:06 AM. So within 8 minutes I was able to duplicate / edit existing script steps for leads, build the two custom menus for leads, test, troubleshoot, tweak and test again. I did run across a problem with the MapQuest function in that it did not like the entry of “United States” for the country data. A quick change of the county value list to “USA” fixed the problem and seemed to play well with Google Maps as well.

SUMMING THIS UP
InBizness (as with most robust CRM packages) has many independent modules that work together in concert. Using a modular design method, you can implement a feature in one module and invest the normal amount of development time. Written properly, the underlying code can quickly be implemented into multiple modules and this has multiple benefits (the least of which is a consistent feature set across modules that users can leverage during the business day).

ADVERTISEMENT ==================
Help support this blog by considering a donating to its ongoing growth. For more details, please visit /donate.html