FIleMaker 16: Changes Required
FileMaker introduced a new extended privilege in 16 that permits the FMP URL protocol to function. The first time you open ProMaps, DayBack, or any webviewer-heavy solution in next without this privilege enabled, you'll see this error:
The fix is simply to enable the new privilege. Here's how.
- 1. Select File / Manage / Security from the FileMaker menus.2. Click on the "Extended Privileges Tab", then double-click the "fmurlscript" keyword.3. Check "on" for any privilege sets you wish to be able to use DayBack.4. That's it!
Why did FileMaker make this change? They believed that malicious users who knew your script names could trigger them from URLs even if you didn't provide buttons for those scripts. But users would still need to be logged into FMP with sufficient permission to run the script: the FMP URL doesn't bypass FileMaker security in any way. We enabled this privilege by default starting in ProMaps version 1.053
The map is not looking the way it should
Begin by running the Upon Opening script again: this rebuilds any html that may have been partially compiled by aborted scripts or during development.
The map is blank
Visit Settings / Areas & Borders: make sure none of your areas have stray characters in them. This can prevent the map from rendering.
Also check to see that you don't have html in any of the address fields. Something like "<table>" in a zip code field, for example, will prevent the map from rendering.
You might need to add a (free) API key from Google. Google's intention is that it's only needed for larger data sets but it has resolved this issue for people who are using the older version of ProMaps. instructions for adding getting an API key and adding it to ProMaps are here.
If you're on a Mac, there's a possibility that the WebViewer URL is not encoding correctly. We are working to release fix for this in the future, but for now, you can fix this by modifying the last line in two scripts to add an additional forward-slash (/) to the url calculation:
If you're on Windows, it's possible FileMaker Pro is using a version Internet Explorer that is no longer supported by Google Maps:
- 1. First, make sure you have installed the latest version of IE (currently 11).
- 2. Open up the Registry Editor. (You can open this by running the regedit command in Command Promp.)
- 3. Navigate to: HKEY_CURRENT_USER > Software > Microsoft > Internet Explorer > Main > FeatureControl > FEATURE_BROWSER_EMULATION
- 4. Right click on FileMaker Pro Advanced.exe and select Modify...
- 5. Select "Decimal" for the Base setting. If this was the source of the problem, the value is likely 9000.
- 6. Change the value to 11000 for IE 11.
- 7. Fully quit FileMaker Pro and reopen ProMaps.
The map is blank only when routing or constraining (or constrain feature won't draw shapes)
If the map only goes blank when attempting to route properties, constrain the map, or map a found set, there are two possible causes:
1. Your property table's primary key field is a number field type.
The SQL queries that ProMaps uses to constrain the map format for text type ids, but it's an easy change to get them to work with number ids.
In the "Filters and Headers" script, edit the $sc_idList Set Variable step by removing the 'single quote' characters from the calculation. They appear in two separate lines; surrounding text is pasted below to help locate them. Repeat this for the $sc_idListSentFoundSet Set Variable step.
- ; "¶" ; "','") ;
- "\" IN ('" & sc_value & "')"
Note: you could change your property table's id field to a Text type to resolve this, but there may be other considerations in doing so, so our recommendation is to make the changes above. Contact Us if you have any questions.
2. There are properties without a value in the gm_GeoLocation field
It may be that you have more properties than you can geocode at one time with the Google API, or that one or more properties can't be recognized by Google Maps. Either way, we need to filter those properties out before sending them to the map. To do that, you can make the following changes to the "Filters and Headers" script:
After the "Set Variable $sc_PropertyStatus" step, add a new Set Variable step for $sc_geoCodeExists with the following value:
- Let ([
- //The field to search in
- sc_field = Properties::gm_GeoLocation ;
- //------------------------- You shouldn't have to edit below this line -------------------------//
- //The field name without its table name
- sc_field = GetValue (Substitute (GetFieldName (sc_field) ; "::" ; "¶") ; 2)
- ] ;
- "a.\"" & sc_field & "\" IS NOT NULL"
Modify the "Set Variable [$sc_searchFieldString" value to add $sc_geoCodeExists to the end of the list.
Reload the map and you should be all set!
I see the map, but there are no pins or missing pins on map
Most likely this is caused because the latitude and longitude of your properties have not been entered in the "gm_geoLocation" field". This normally happens when an address is changed or modified as we have script triggers on the address fields in our detail layout. If you have imported records or are using an alternate method for entering addresses the geo locations may not have been looked up from google. We include a script called "GeoCodeAddress For ProMaps" that will look up the geocode for you. If you are missing a large set of geocodes you can loop through all of your records using the script "Re-GeoCode All Properties". More on that here. Also keep in mind that google limits queries to 2,500 per 24 hour period. So if you are trying to geocode more than that you will need to split up your process into segments and wait 24 hours in between.
Remember that geocoding requires a Google API key and that the key needs to have the geocoding API associated with it. If you entered an API key, the geocoding script is running, but you aren't seeing geocodes, it could be that your key doesn't have geocoding enabled.
Not seeing images in the map?
If you make changes to map images in the property's detail view, those images aren't available to the map until you run the script "Load Thumbnails"--that script also runs during map start up, so you can just close and re-open the file as well.
Getting "could not save file" errors?
You can use external storage for the images you show in your map's popovers, but you can not use secure storage. If you need secure storage for your images, make a second container field to use in the map, set that to NOT use secure storage and add an auto-enter calc to grab a thumbnail of the secure image using GetThumbnail(). (You should be using thumbnails anyways to speed things up.)
Seeing "browser not supported" messages on the map?
This issue seems to affect only some versions of Windows, although the map is supported in FileMaker on Windows. To resolve this, go into Layout mode and navigate to the ProMaps Template layout. Add the MapDataTemplate field on this layout, and make it big so you have lots of room to work with it. Also, change it's background color to white (for easier editing), and enable the scroll bar on the field. Then in Browse mode, add the lines of CSS code below to this field, just before the closing "</style>" tag. Repeat these steps for the RouteDataTemplate field. Once added, you should no longer see that error the next time you close and reopen ProMaps. Let us know if you have any questions about this!
The CSS above was added to ProMaps in version 1.052.
Unable to use ProMaps and DayBack at the same time?
If you've also integrated DayBack, a small change is needed to ProMaps to keep the map and calendar web viewers from conflicting. At the bottom of the "Export Map HTML" script in ProMaps, you'll find two Set Variable script steps. Both of those Set Variable script steps contain "index.html" in their value calculation. Changing that to "indexMap.html" in both steps will resolve any conflict between the map and calendar.