====== Storing Measurements ====== The SDK allows access to measurements. ===== Capturing a Completed Measurement ==== The first step to capturing a completed measurement, is capturing changes to the measurement state. To be notified of any changes to the measurement change, you can attach a listener to the ''onMeasureStateChanged'' signal. In this event handler, you can use the ''getMeasureState()'' function to retrieve the current measurement state. This function returns a ''MeasureState'' instance. Tracking measurement changes is done using the ''onMeasurementChange'' Signal. Add an event listener to be notified whenever something changes to the measurement state. The Viewer SDK offers several Measurement related Signals that you can listen to. * ''onMeasureUpdated'' : dispatched when the user updates a Measurement. * ''onMeasureCompleted'' : dispatched when the user completes a Measurement. The user starts making a Measurement by clicking one of the measurement buttons in the Measurement Sidebar. This action brings the viewer in Measurement mode. Any [[glossary|View]] can be used to make registrations. As the user makes registrations, the ''onMeasureUpdated'' signal is dispatched. On completion, the ''onMeasureCompleted'' signal is dispatched. The user completes the Measurement by making the last registration (for a Measurement mode with a fixed number of registrations) or by making a registration using a double click. Each measurement mode has its own focus or goal. ===== Using MeasureState ===== The ''onMeasureUpdate'' and ''onMeasureComplete'' Signals have a payload object of type ''MeasureState'' that describes the current measurement state : * The list of registrations * The measurement mode * The measurement information properties. ===== Rendering ===== To render a ''MeasureState'' object on the map, you must implement a dedicated rendering method for each measurement mode. In a future update we are committed to provide an SDK function to retrieve ''MapObject'' instances that can be used to render the measurement on a Reference Map. You as an SDK developer won't need to support every measurement mode we may decide to add in a future update.