N4 Street Maps With Values


N4 Maps Click above for Demo...

Overview


The Open Street Maps widget uses the OpenStreetMap API and displays a street map of the world and you can add markers via a simple JSON config. Unlike our other maps widget, this widget allows you to set up to 5 ord values. The values are shown on the tooltip. Icons can also be changed to a image of your choice. Values also update in real-time. You need an internet connection to view the maps and your local network must allow the data image tiles to be retrieved from https://basemaps.cartocdn.com. The widget has a number of configurable properties that can be used to modify look, feel, and functionality. Before you start, copy the openStreetMapsWithValues-ux.jar file to your modules directory. Restart the station and Workbench.

Usage


1. Copy the openStreetMapsWithValues-ux.jar file to your modules directory.
2. Open the module from your palette file.
3. Drag and drop the widget from the palette onto your px view.

Open Street Maps Widget

Widget Properties

Properties


The widget has a number of configurable properties that can be used to modify look, feel, and functionality. Change the properties as required:

File Config

A JSON config for map markers. See below for setup.
You can point the menu to a file that exists on the station.
Valid values are ords e.g.: file:^openMapsFolder/config.txt
If you do not specify a file reference, only a map will be displayed.

Latitude/Longitude

The map will display at this location when initialised.

Pitch

The viewing angle of the map.

Overview Control, Scale Control, Zoom Control

Shows/hides the controls on the map. Set to true or false.

Zoom

The default zoom level. Default is 15.5.

Height/Width

Set these values to manually set the height/width of the map frame.

API Version

The current version is 45.1. As we do not maintain the mapping engine, change this value as new versions are released. The latest version value can be found here. https://github.com/maptalks/maptalks.js/releases

Markers & Links


The marker config is in JSON format. You can customise as needed. Special characters should be avoided. Advanced users can enter html content in the label and tooltipText properties.

If no link is specified, the marker, label, and tooltip will be shown. For links to navigate correctly in Workbench, and if you're running 4.3 or above, there should be a "toggle preview" button at the end of the toolbar when looking at a Px graphic. This will show you your Px page rendered in a browser and the links will work correctly

 
{
  "markers": [
    {
      "lat": "51.508682",
      "long": "-0.1323335",
      "link": "/ord/station:|slot:/Drivers/NiagaraNetwork/Site1",
      "label": "North Building",
	  "ord": "station:|slot:/Drivers/Sites/Overview/COMeasurement",
	  "ordDisplayName": "Custom Name",
	  "ord1": "station:|slot:/Drivers/Sites/Overview/Humidity",
	  "ord1DisplayName": "Cust Name 2",
	  "ord1Icon": "/ord/file:%5EopenMaps/brt-medium.png",
	  "ord2": "station:|slot:/Drivers/Sites/Overview/Temperature",
	  "ord2DisplayName": "Other Name",
	  "ord2Icon": "/module/openStreetMapWithValues/rc/themometer-sm.png",
	  "ord3": "station:|slot:/Drivers/Sites/Overview/TotalAlarms",
	  "ord3DisplayName": "Last Edit",
	  "ord3Icon": "",
	  "ord4": "station:|slot:/Drivers/Sites/Overview/InAlarm",
	  "ord4DisplayName": "Editable Text",
	  "ord4Icon": ""
    },
    {
      "lat": "51.5063802",
      "long": "-0.1396422",
      "link": "/ord/station:|slot:/Drivers/NiagaraNetwork/Site2",
      "label": "West Building",
	  "ord": "station:|slot:/Drivers/Sites/Overview/COMeasurement1",
	  "ordDisplayName": "Custom Name 1",
	  "ord1": "station:|slot:/Drivers/Sites/Overview/Humidity1",
	  "ord1DisplayName": "",
	  "ord1Icon": "/module/openStreetMapWithValues/rc/humidity-sm.png",
	  "ord2": "station:|slot:/Drivers/Sites/Overview/Temperature1",
	  "ord2DisplayName": "",
	  "ord2Icon": "/module/openStreetMapWithValues/rc/themometer-sm.png",
	  "ord3": "station:|slot:/Drivers/Sites/Overview/TotalAlarms1",
	  "ord3DisplayName": "",
	  "ord3Icon": "",
	  "ord4": "station:|slot:/Drivers/Sites/Overview/InAlarm1",
	  "ord4DisplayName": "",
	  "ord4Icon": ""
    },
	{
      "lat": "51.507351",
      "long": "-0.127758",
      "link": "",
      "label": "East Building",
	  "ord": "station:|slot:/Drivers/Sites/Overview/COMeasurement2",
	  "ordDisplayName": "",
	  "ord1": "station:|slot:/Drivers/Sites/Overview/Humidity2",
	  "ord1DisplayName": "",
	  "ord1Icon": "/module/openStreetMapWithValues/rc/humidity-sm.png",
	  "ord2": "station:|slot:/Drivers/Sites/Overview/Temperature2",
	  "ord2DisplayName": "",
	  "ord2Icon": "/module/openStreetMapWithValues/rc/themometer-sm.png",
	  "ord3": "station:|slot:/Drivers/Sites/Overview/TotalAlarms2",
	  "ord3DisplayName": "",
	  "ord3Icon": "",
	  "ord4": "station:|slot:/Drivers/Sites/Overview/InAlarm2",
	  "ord4DisplayName": "",
	  "ord4Icon": ""
    }
  ]
}
                              

JSON Editing

To help build your menu configuration use an online JSON editor like:
https://jsoneditoronline.org/

Using in your HTML Page


You can now use the widget in your custom html page as long as the html file is in a appropriate station directory.
E.g. C:/../stationName/shared/demo.html

1. Create an html page and place in your station files directory.
2. Create a div element and give it an id so you can inject the widget into this area. E.g.: widget1.
3. Add the following scripts before the closing head tag or the closing body tag. E.g.:


<script type="text/javascript">

    var require = {
        paths: {
            "nmodule": "/module",
            "baja": "/module/bajaScript/rc/plugin/baja",
            "bajaScript": "/module/bajaScript/rc",
            "bajaux": "/module/bajaux/rc",
            "lex": "/module/js/rc/lex/lexplugin",
            "css": "/module/js/com/tridium/js/ext/require/css",

            "jquery": "/module/js/rc/jquery/jquery-2.1.1",  // For N4.4 or higher use /module/js/rc/jquery/jquery-3.2.0.min
            "Promise": "/module/js/rc/bluebird/bluebird",

            // these are runtime dependencies
            "hbs": "/module/js/rc/require-handlebars-plugin/hbs", // For N4.4 or higher use /module/js/rc/handlebars/handlebars.min-v4.0.6
            "i18nprecompile": "/module/js/rc/require-handlebars-plugin/hbs/i18nprecompile",
            "json2": "/module/js/rc/require-handlebars-plugin/hbs/json2",
            "underscore": "/module/js/rc/underscore/underscore",

        },

        hbs: {
            disableI18n: true
        }
    }
</script>

<script type="text/javascript" src="/module/js/com/tridium/js/ext/require/require.min.js"></script>
<script>
    require(['/module/openStreetMap/rc/openStreetMapWidgetWithValues.run.js'], function (app) {

        app.initialiseOpenStreetMap({
            apiVersion: 45.1,
            divId: '#widget',
            mapConfig: 'file:^openMaps/withValuesConfig.txt',
            gaugeColor: '#f77a52',
            latitude: '51.508682',
            longitude: '-0.1323335',
            showMarker: true,
            showImageMarker: false,
            fontFamily: 'Poppins, sans-serif',
            backgroundColor: '',
            height: '', // Set these values to manually set the height/width of the map frame
            width: '', // Set these values to manually set the height/ width of the map frame
            pitch: 0,
            zoom: 15.5,
            zoomControl: 'true',
            scaleControl: 'true',
            overviewControl: 'true',
            markerColor: '#3fa9f5',
            labelFontColor: '#000000',
            tooltipColor: '#000000',
            tooltipFontColor: '#ffffff',
        });
    });
</script>
</head>
<!--2 Divs are required-->
<div style="width:800px;height:450px;">
<div id="widget1" style="width:800px;height:450px;"></div>
</div>
                                

Licensing


Widgets and drivers must be licensed with us. Licenses are bound to the stations host Id. You will be provided access to the Software and Licensing Portal where you can manage your own licenses. Here you can add, update, or delete licenses as needed.

There are few ways to get a license file:

1. Add our licensing module to your station services. This module automatically retrieves the license from our servers and saves it to your stations shared folder directory.

2. Alternatively, Login to the Software and Licensing Portal (link provided in Order Confirmation) and add your host id's as needed. Copy the license file to the stations shared directory.

Finally, make sure the station user has access to WLicenseService in the user management and category service section.

Niagara Licensing

Niagara Dashboard


Niagara IOT technologies and modern toolsets allow you to build a powerful Niagara dashboard which is real time, data-driven, and cost effective. Our widgets are purpose-built by providing information with faster communication through real-time, data-driven, dashboards for web, desktop and mobile devices. You can now create a cutting-edge display of conventional HVAC system graphics, Dashboards, Alarms & Scheduling, Historical Data, and Analytics.

You May Also Like

Open Street Maps

N4 View Builder

N4 view builder

Spectrum Gauge


back to more widgets...