Connecting External Map Services to Map

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: DashboardsAnalytical 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:

  1. 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.

  1. 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:

The path to the folder with installed designer of business applications:

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.

  1. 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"
            }]
        }
    }
]
  1. 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.

  1. Restart the back end of web application/designer of business applications.

  2. 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:

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:

Features of Use of External Map Services

When using external map services take into account the following features of their use:

See also:

Plugins | Advanced Map Features