Josh Clark is a software engineer and a member of the Professional Services team tasked with training, deployment and managing customer system integrations. Recently, he worked on the integration of Google Maps for an Oil & Gas customer who needed to map pipelines and associated assets.
For most of our customers the ability to display a map in an embedded page with a one location is all that is needed. But for some, dynamically controlling where a map is focused and what information is displayed is critical. To meet this next level of integration, Swift Software’s Professional Services team has taken on the challenge of integrating securely with Google Maps.
What is the next level of integration?
The ability to dynamically control the content on the map using secure information stored in HighGear, information such as the map coordinates and overlay files. With dynamic information a map displayed on a task can be completely unique and secure. HighGear’s security model can ensure the map is only displayed by those users who have permission to see it.
Map information is stored on both tasks and contacts. Map coordinates, latitude and longitude, are stored on HighGear contacts, specifically assets. Tens of thousands of different locations can be created and used on multiple different maps.
HighGear’s contact lookup field is used to reference the asset these coordinates are stored on. This field creates a link between the map, located on a task, and the coordinates. Since this field can be accessed by HighGear’s workflow system, automation of coordinate selection is possible.
Linking a custom overlay file to the task is done by uploading a “.xmz” or “.xml” file to an attached files field on the task. This is required for the overlay file to be secure. During development of the custom code, it was determined that integrating directly with the Google Maps API for overlay files wasn’t secure because the overlay file had to be shared with Google. To work around this security concern, this solution was developed using Open Layers, a free tool that loads the overlay file directly in the browser instead of passing it over the API to Google. An additional level of security was added to the integration code that requires a user to be logged into HighGear before being able to load the overlay file on the map.
HighGear’s dynamic embedded page contains powerful functionality to pass field values from a task or contact to the web page. For this solution, this information is passed to custom code which reads the coordinates and overlay file and updates the map accordingly.
The combination of being able to specify coordinates and a custom overlay file, allow for a completely dynamic solution that keeps you in control of what is displayed on the map. This customization is great for companies that have site work for contractors. Using a mobile device, such as an iPad, a contractor can log into HighGear and see exactly where they need to be and what they should be working on.