To enhance capabilities of displaying a map one can connect external map services: Yandex, Bing, ArcGis, OpenStreetMap, Google.
NOTE. External map services can be connected to a map in the tools: Dashboards, Analytical Queries (OLAP), Time Series Analysis only in the web application and in the designer of business applications.
To connect external map services to a map:
Download the MapPlugins.zip archive with plugins for external map services.
IMPORTANT. After connecting plugins you get access to external map services API. Make sure that you have permissions to use them. The FORESIGHT company does not grant you any permissions to use external map services and is not responsible for violation of their licensing policy by you.
Unarchive the plugins and place them in the corresponding folder with installed web application or designer of business applications.
The path to the folder with installed web application:
If plugin description is added in the config.json configuration file:
In Linux OS: /opt/foresight/fp10.x-webserver/r.
In Windows OS: C:\Program Files (x86)\Foresight\Analytics Platform 10.x Web Application\r.
If plugin description is added in the PP.xml configuration file:
In Linux OS: /opt/foresight/fp10.x-webserver.
In Windows OS: C:\Program Files (x86)\Foresight\Analytics Platform 10.x Web Application.
The path to the folder with installed designer of business applications:
If the designer of business applications back end is installed automatically on Apache2 web server or manually on IIS:
In Linux OS: /opt/foresight/fp10.x-dba.
In Windows OS: C:\Program Files (x86)\Foresight\DBA_10.x. The DBA_10.x folder is created manually and may differ.
If the designer of business applications back end is installed manually on Apache2 web server, Java or automatically on IIS:
In Linux OS: /opt/foresight/dba/10.x.
In Windows OS: C:\Program Files (x86)\Foresight\Designer of Business Application 10.x Web Server.
TIP. To facilitate the use of plugins, create the Plugins folder, which will store plugins. In the Plugins folder create the Map folder that will store external map service plugins.
In Linux OS grant permissions for the custom folder with plugin files in Debian-based distributions for the www-data user. When working in other Linux OS distributions replace www-data with apache for RedHat-based distributions or with apache2 for ALT Linux.
Add plugins description in the configuration file:
In the config.json file of the web application/designer of business applications use the plugins field to describe plugin:
"modules": {
"8448": {
"customization": {
"plugins": [
{
"id": "PP.Yandex",
"path": "./Plugins/Maps/YandexMapPlugin.js",
"name": "YandexMapPlugin"
},
{
"id": "PP.Bing",
"path": "./Plugins/maps/BingMapPlugin.js",
"name": "BingMapPlugin"
},
{
"id": "PP.ArcGis",
"path": "./Plugins/Maps/ArcGisMapPlugin.js",
"name": "ArcGisMapPlugin"
},
{
"id": "PP.OpenStreetMap",
"path": "./Plugins/Maps/ArcGisMapPlugin.js",
"name": "OpenStreetMapPlugin"
},
{
"id": "PP.Google",
"path": "./Plugins/Maps/GoogleMapPlugin.js",
"name": "GoogleMapPlugin",
"params":[{
"name": "APIKey",
"value": "AIzaSyCT36DH2CuXQ8GHtNSZASvoxQtbidhuWCU"
}]
}
]
}
}
}
NOTE. The 8448 value is a numeric value of the Dashboard object class. Set the 2561 class value for the Express Report object.
To describe plugins in the PP.xml web application file, use the <plugins> section:
<plugins>
<plugin name="YandexMapPlugin" path="../Plugins/Maps/YandexMapPlugin.js" type="PP.Yandex"/>
<plugin name="BingMapPlugin" path="../Plugins/Maps/BingMapPlugin.js" type="PP.Bing"/>
<plugin name="ArcGisMapPlugin" path="../Plugins/Maps/ArcGisMapPlugin.js" type="PP.ArcGis"/>
<plugin name="OpenStreetMapPlugin" path="../Plugins/Maps/ArcGisMapPlugin.js" type="PP.OpenStreetMap"/>
<plugin name="GoogleMapPlugin" path="../Plugins/Maps/GoogleMapPlugin.js" type="PP.Google">
<params>
<param name="APIKey" value="AIzaSyCT36DH2CuXQ8GHtNSZASvoxQtbidhuWCU"/>
</params>
</plugin>
</plugins>
To describe plugin in the DBA.config.json file of designer of business applications, use the plugins field:
"plugins": [
{
"Type": "PP.Yandex",
"Path": "./Plugins/Maps/YandexMapPlugin.js",
"Name": "YandexMapPlugin",
"Loaded": true
},
{
"Type": "PP.Bing",
"Path": "./Plugins/Maps/BingMapPlugin.js",
"Name": "BingMapPlugin",
"Loaded": true
},
{
"Type": "PP.ArcGis",
"Path": "./Plugins/Maps/ArcGisMapPlugin.js",
"Name": "ArcGisMapPlugin",
"Loaded": true
},
{
"Type": "PP.OpenStreetMap",
"Path": "./Plugins/Maps/ArcGisMapPlugin.js",
"Name": "OpenStreetMapPlugin",
"Loaded": true
},
{
"Type": "PP.Google",
"Path": "./Plugins/Maps/GoogleMapPlugin.js",
"Name": "GoogleMapPlugin",
"Loaded": true,
"Params":{
"Param":[{
"Name": "APIKey",
"Value": "AIzaSyCT36DH2CuXQ8GHtNSZASvoxQtbidhuWCU"
}]
}
}
]
Replace the relative path to the ExternalMapPlugin.js plugin in each used external map service plugin if it differs from the default path:
'../Plugins/Map/ExternalMapPlugin.js'
The ExternalMapPlugin.js plugin is mandatory during connection of external map services.
For example, when connecting the Yandex map service, in the YandexMapPlugin.js plugin file change the relative path to the ExternalMapPlugin.js plugin in the PP.Yandex.init class.
Restart the back end of web application/designer of business applications.
Open the report for edit and select one of the available map services in the drop-down menu of the
External Services button located on the Map ribbon tab:
Yandex.
Bing.
ArcGis.
Open Street Maps.
Google.
NOTE. The
External Services button is hidden by default.
After executing the operations, external map services will be connected to a map.
IMPORTANT. After connecting plugins you get access to external map services API. Make sure that you have permissions to use them. The FORESIGHT company does not grant you any permissions to use external map services and is not responsible for violation of their licensing policy by you.
The example of a map with connected Google service:

When using external map services take into account the following features of their use:
The map in use should contain anchor points of physical and geographical coordinates.
Overlaid map borders may mismatch. Solving of georeferencing problems is given in the Solving Georeferencing Problems on Connecting External Services article.
See also: