Do I have to Geocode my addresses to use ProMaps?
Nope. ProMaps will do it for you.
What the heck is a geocode?
Under the hood, Google Maps uses Lat/Long for plotting addresses, so ProMaps converts your addresses into Lat/Long. This process is called geocoding. ProMaps uses the Google Maps geocoding API: https://developers.google.com/maps/documentation/geocoding/
When does ProMaps geocode my address
This is done in the script "GeoCodeAddress (address, tempObjectName, resultFieldName)" which is currently called from script triggers on the address fields on the "Properties Detail" layout. You can do the same in your file. We also include a script called "GeoCodeAddress For ProMaps" that will manually geocode the address for the record you are on. This script references the address fields in ProMaps so if you have different address fields make sure and edit the script to reference those new fields.
Be sure you give your copy of the "gm_GeoLocation" field an object name of "field_geoLocation" so our script can properly reference that field. For more, see step 5 (Add Geo Code Lookup To Your File) in our integration
ProMaps will also re-geocode an address if you've edited the record, as part of the script "Property On Layout Exit", which we have running on layout exit as part of the layout level script triggers.
When clicking the "Apply Settings to Map" button in the settings layouts, ProMaps will automatically search for any properties without a geocode value and attempt to re-geocode them. This can be great to use after importing new property records.
Finally, ProMaps comes with a script that will geocode all the properties in your file (subject to the limit below). To use this, navigate to the Properties Detail layout (or any layout in your file based on the Properties table which has the gm-GeoLocation field on it with an object name of "field_geoLocation" shown below) and then check out and run the script "Re-GeoCode All Properties".
Note: See the documentation here for details on Google's new pricing for requests to the Google Geocoding API: https://www.seedcode.com/pmwiki/index.php?n=ProMaps.GoogleAPI#Usage
What if I already have a Latitude and Longitude for my records?
In that case you don't need our script to geocode them. Just do three things:
1. You'll still create a field called "gm_GeoLocation" field and give it an object name of "field_geoLocation". (See step 5 "Add Geo Code Lookup To Your File" in our integration
2. Make sure your Lat/Long is in the form Map expects, like: "47.6821060,-122.3085170" without the quotes.
3. Turn off the geocoding script by editing the script "GeoCodeAddress (address, tempObjectName, resultFieldName)" and placing an ExitScript step as the first line. Also disable the script "Check Property Integrity" the same way and now it's up to you to make sure you have a Lat/Long for every record =)
If your Lat and Long are in two separate fields, change the "gm_geoCode" field in the properties table to an auto enter calc. The contents of the calc should be text and would look like this...
"¶" ; ","
Updating a record's geocode when you're on site
Using the location function in FileMaker Go you can update a record's lat/long using the current location of your iPad or iPhone. Here's a video of this in action along with scripts you can paste into ProMaps to update the location when you take a picture of a location: Geolocation in FileMaker Go: Examples.