Skip to content

Map

Used to show an embedded map inside the app without navigating to a third party mapping app. Pins shown on the map can represent any number of different entities. Each pin can support an option card that will be shown when the pin is clicked.

Supported Elements & Properties

  • label
  • card
  • latitude
  • longitude
  • emphasis

Marble

page WorkOrdersMapPage using WorkOrdersSet {  
   label = "Work Orders";     
   map WorkOrdersMap;  
}  

map WorkOrdersMap for WorkOrder {  

    // Show all work order pins using WorkOrdersSet  from the page  
    pin WorkOrderPin {  
      label = "${WoNo} - ${Description}"; // Label is shown on the map - can also be not provided  
      card WorkOrderCard;   

      latitude WoLatitude;  
      longitude WoLongitude;  

      emphasis Complementary2 = [Objstate = "NEW"];  
      emphasis Complementary3 = [Objstate = "ACCEPTED"];  
      emphasis Complementary6 = [Objstate = "TRAVELLING"];  
      emphasis Complementary1 = [Objstate = "ON_SITE"];  
    }  

    // Also show customer pins using the Customers entity set  
    pin CustomerPin using Customers {  
      label = "${CustomerName}";  

      latitude CustLatitude;  
      longitude CustLongitude;  

      emphasis Blue = [true];  
    }  

    // Also show all warehouses returned by the GetWareHousesFunction function  
    pin WarehousePin using GetWareHousesFunction {  
      label = "${Description}";  
      card WarehouseCard;  

      latitude Latitude;  
      longitude Longitude;  

      emphasis Green = [true];  
    }  
}  

Maps must have at least on pin declared. Every pin must have a latitude and longitude defined. card is optional. label is optional. for WorkOrder is optional if every pin has a using but is mandatory if one does not. emphasis is optional.

Application Parameters

EMBEDDED_MAPS_ANDROID = Disabled/Here (default Disabled)

EMBEDDED_MAPS_IOS = Disabled/Here (default Disabled)

EMBEDDED_MAPS_WINDOWS = Disabled/Here (default Disabled)

Here is currently the only map tile provider supported. Others may be added in the future depending on demand.

Limitations

Although any number of pins can be declared in Marble, the total number of pins that will be displayed on the map element is limited to 250 to ensure the performance of the map remains acceptable on all platforms. If you want to display a large number of pins on the map it is recommended that you break up your data into more specific sets and then use multiple maps to show them.

This feature will not function correctly when the device is offline as the map tiles are provided by a third party, requiring an internet connection.