From SeedCode Documentation

GoMaps: GoMapsIntegration

Adding GoMaps to your solution

Overview

The idea here is that you'll use the GoMaps Mobile file but sync it with it your own database instead of the GoMaps Hosted example included in the GoMaps download package. This is done by remapping the gzh_Properties table occurrence and the field objects on the gzh_Properties layout in GoZyncMobile to the properties table and fields in your own file.

If you're already using GoZync, read this first, then return here to get to work.

Need Help?

Our products are designed so you can integrate them into your own FileMaker solutions yourself following the instructions in our online documentation, and our team is happy to provide any guidance you need at no additional charge. So please don't hesitate to reach out if you get stuck--we can likely get your integration unstuck with a quick phone call or email.

Alternatively, our trained and certified developers can do your integration for you from start to finish. Just pick up our minimum three-hour implementation package ($570) and send us your file (more complex integrations may require more time).

We can also help you build custom features in any FileMaker solution that involves one or more of our products, including customized deployments of SeedCode Complete. For these types of projects that involve custom-built features, please get in touch to discuss the details so we can give you an estimate of the cost and timeline.

Getting Started: Changing GoZyncHosted.

1. Backup your files.

Really.

2. Add Required Fields. We include an example file that you can use called "GoMaps Hosted" but you will most likely want to use an existing FileMaker solution as your data source. The easiest way to integrate GoMaps into your solution is to copy the fields listed below from the Properties table in "GoMaps Hosted" and paste them into the table that contains the addresses you want to appear on the map in your solution. You will probably already have some of these fields in your solution. For the smoothest integration, rename these fields to match what is in GoMaps.

Open the "GoMaps Hosted" file and then go to "Manage Database" to access the tables and fields. Make sure you are viewing the fields for the "Properties" table. You may not have a properties table in your solution, that is OK. You will need something equivalent though, something with address data. For example "Contacts", "Addresses", "Inspections" etc. If you don't have an existing table that you are trying to get address data from you can copy and paste our "Properties" table into your solution and skip past adding fields and go to step 2. Regardless of your table name this documentation will refer to this table as "Properties" from here on.

Copy and paste our "gm" fields:

"gm_GeoLocation"
"gm_Area"

Make sure your fields match the fields in GoMaps Hosted. You can either create missing fields in your solution or copy and paste them from GoMaps Hosted. It works best if the fields have the same names. You most likely have address fields already so we recommend renaming those fields in your solution to match ours if possible:

Rename in your solution or copy and paste the contact fields:

"ContactName"
"ContactCompany"

We have some category fields that we use. If you don't have these fields please add them in your solution. If you do have these fields you can rename them:

"Type"
"Status"

Now do the same for the address fields:

"Address"
"UnitNumber"
"City"
"State"
"PostalCode"

The workflow fields are all optional but syncing will go more smoothly if you have these fields in your solution:

"Notes"
"InspectionDate"
"PercentComplete_Foundation"
"PercentComplete_Framing"
"PercentComplete_Electrical"
"PercentComplete_Plumbing"
"PercentComplete_Roofing"
"PercentComplete_Exterior"

And if you haven't already integrated GoZync you will want to add the mod timestamp field copy and paste works best:

"gz_ModTimeStamp"

If you would like to use property images in GoMaps you will need to do this same process with the "Media" table.

Make sure you have a property ID field:

"_id_Property"

Container fields:

"MediaContainer"
"gm_Thumbnail"

And the GoZync timestamp field:

"gz_ModTimeStamp"

3. Add Sync TO's Now that all of your fields are in place you will need to create table occurrences for syncing purposes. This will help make the integration process much simpler.

Find the "Properties" table occurrence in your solution in the relationship graph and duplicate it. Rename the TO to "Zync_Properties". If you are using a media table do the same for that TO and name it "Zync_Media".

4. Add Sync Layouts You will need to create a corresponding layout for each TO you plan to sync. These layouts will need to have each field you would like to sync.

Create a new layout called "Zync_Properties" based on the "Zync_Properties" table occurrence. Add all of the fields listed above in the add fields section to the layout.

If you are using a media table add a new layout called "Zync_Media" based on the "Zync_Media" table occurrence. Add all of the fields listed above in the add fields section.

5. Add Geo Code Lookup To Your File The GoMaps mobile file will lookup and add any geo location codes that are missing from your properties. It is much faster to handle this before the data goes down to the mobile file though. To lookup geo codes in your hosted solution you will need to copy the script folder called "GoMaps" from the GoMaps Hosted file and paste that folder of scripts into your solution. It works best to set the geo code lookup to trigger based on the OnObjectSave script trigger. You can set any field to trigger the geo code lookup by assigning the OnObjectSave trigger to run the script called "GeoCodeAddress (address, tempObjectName, resultFieldName)". The recommended fields to set this trigger on are the "Address", "City", and "State" fields. You can see the best method for passing in the appropriate script parameter on those fields in the "GoMaps Hosted" file. The "gm_GeoLocation" field does need to be on the layout for the lookup to work but you can put that field off the layout boundary so it isn't visible.

You may want to lookup geo codes for all your records. If this is the case we do provide a script called "Re-GeoCode All Properties". You may need to modify the script parameter on the GeoCode Address script step to make sure it is referencing your fields. This script will loop through all of the records in your properties table and download the geo location code for each.

6. Sync In GoMaps navigate to the home screen and click "Pull new properties down to this device". This will sync any record that has been modified since the addition of the "gz_ModTimeStamp" field to your file. If you ran the routine to look up geocodes this should be every property record you have.

Getting Started: Changing GoMaps.

Backup

Adding New Fields If GoMaps is lacking specific fields you need you can either re-purpose the workflow fields (for example you can rename "PercentComplete_Foundation"). You can also create new fields in the Properties table. It is easiest if the field name in the "GoMaps" file matches the field name exactly in your file. This will avoid needing to use field mapping in GoZyncHosted. Once you have added the fields to the table you will also need to add those fields to the sync layout. The sync layout in GoMaps is called "Zync_Properties". Make sure to also add that field to the sync layout in your hosted solution.

Adding whole new tables (see the GoZync docs)

Retrieved from https://seedcode.com/pmwiki/index.php?n=GoMaps.GoMapsIntegration
Page last modified on April 16, 2015, at 04:00 PM