Niagara Open Street Maps


  • Open Street Maps
  • Add Map Markers & Links
  • Easy-To-Use
  • Stays Up-To-Date
  • Requires Internet Connection*
  • Works in Workbench and Modern Browser
Add to Cart
n4 charting

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. It was created by people like you and free to use under an open license. It also uses the powerful Maptalks mapping engine to integrate 2D/3D maps together by pitching and rotating 2D maps. Get one more dimension for mapping, visualizing and analyzing, with simplicity of 2D maps. Performance is always a priority. With Maptalks and plugins, you can smoothly render 10ks geometries with Canvas 2D and 1000ks with WebGL.

*You need an internet connection to view the maps, however if you are on a restricted network, its recommended you set up an outbound firewall rule to the mapping server: http://d.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 openStreetMaps-ux.jar file to your modules directory. Restart the station and Workbench.

Usage


1. Copy the openStreetMaps-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.

Tridium mapping library


Properties


bms map 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 14.

Height/Width

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

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": "National Gallery",
      "tooltipText": "Major Art Gallery"
    },
    {
      "lat": "51.5063802",
      "long": "-0.1396422",
       "link": "/ord/station:|slot:/Drivers/NiagaraNetwork/Site2",
      "label": "St James",
      "tooltipText": "Some Text Here"
    },
	{
      "lat": "51.507351",
      "long": "-0.127758",
      "link": "",
      "label": "London Central",
      "tooltipText": "Value: 23.0"
    }
  ]
}
                              

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:/../station/shared/demo1.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/openStreetMapWidget.run.js'], function (app) {

                app.initialiseOpenStreetMap({
                    fontFamily: 'Poppins, sans-serif',
                    backgroundColor: '',
                    divId: '#widget1',
                    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
                    latitude: '50.498568',
                    longitude: '-1.113049',
                    pitch: '19',
                    zoom: '14',
                    zoomControl: 'true',
                    scaleControl: 'true',
                    overviewControl: 'true',
                    fileConfig: 'file:^dropdownMenu/config.txt',
                    markerColor: '#3fa9f5',
                    labelFontColor: '#000000',
                    tooltipColor: '#000000',
                    tooltipFontColor: '#ffffff',
                });
            });
        </script>
        </head>
        <!--html to go here-->
        <div id="widget1" style="width:300px;height:300px;"></div>
        <!--Rest of your html below...-->
                                    

You May Also Like





Open Street Maps With Values

N4 View Builder™©

tridium bms system

Multiline Chart

tridium charting

back to more widgets...