MDA Custom Map Control Creation for GPS View V1.1 Tutorial

Similar documents
INCA V7.2 INCA Instrument Integration Development Kit V1.2 Quick Start Guide

ETAS CONGRA V1.3.0 Installation Guide

ETAS RTA Lightweight Hypervisor for SPC58ECxxGHS v1.0.0

MDA 8 preview SP2 Release Notes. Release Notes. Release: March, Page 1 of 8

Release Notes INCA-RDE V1.0. Release Notes. Page 1 of 11

LABCAR-FWP V Release Notes LABCAR-FWP V Release Notes. Page 1 of 5

LABCAR-FWP V Release Notes LABCAR-FWP V Release Notes. Page 1 of 6

Release Notes. INCA-QM-BASIC Add-on. Release Notes. Page 1 of 11

ETAS SCODE-ANALYZER Getting Started

ES922.1 Version 1.1.0

INCA-MIP Add-on MATLAB Integration Package for INCA 7 Release Notes V INCA-MIP Add-on. Release Notes V Page 1 of 12

CBAM270 XETK ECU Adapter and Power Supply Cable, pre-assembled into PG9 screwing, shield on ECU-Housing, Lemo 1B PHE - JST PHR (10fc-5fc) / Lemo 0B

Release Notes INCA-FLOW V4.6. Release Notes. Page 1 of 12

PB1651ADC1 A/D Module User s Guide

PB4350DAC1 - D/A Module User s Guide

Release Notes INCA-FLOW V4.4. Release Notes. Page 1 of 13

INCA V7 Performance Tips And Tricks

MDA v7.2.3 Release Notes. MDA v Release Notes. Release: December Page 1 of 13

ETAS INCA V7.1 Serial Calibration with InCircuit2 INCA User s Guide Supplement

RTA-OS V850E2/GHS Release Note - Version ( )

INCA-FLEXRAY V7.2 User Manual

ETAM3 XETK/FETK ECU Adapter, SAMTEC FFSD - SAMTEC SFM (10fc - 10fc), 0m11 User s Guide

ASCET V6.2 Icon Reference Guide

HSP Update Tool V

HSP Update Tool V5.9.0

HSP-SP V Release Notes HSP-SP V Release Notes. Page 1 of 6

INCA-LIN V7.2 User s Guide

MDA V8.3.1 Release Notes MDA V Release Notes. Release: December Page 1 of 10

Daisy Chain Configuration Tool V Release Notes. Release Notes. Page 1 of 7

INCA V7.0 Instrument Integration Development Kit. Tutorial

RTA-BSW v3.0.0 RTA-BSW Getting Started Guide Status: Release

INCA-LIN V6.2. User Manual

INCA-EIP (Experimental Target Integration Package) V7.0.2 User s Guide

HSP-SP V Release Notes HSP-SP V Release Notes. Page 1 of 7

INCA-FLEXRAY V6.2. User Manual

FlexRay Editor User s Guide

ES6xx Add-On & Hardware Configuration Tool V1.4.0

ASCET V6.4. AUTOSAR to ASCET Converter User s Guide

INCA-FLOW Getting Started

MDA V7.2 Getting Started

INCA-ES5xx V Release Notes

INCA V7.1.0 Release Notes INCA V Release Notes. Release: March Page 1 of 13

INCA-SIP User s Guide

ASCET 7.2 Getting Started Guide

MDA V8.3.1/1 Release Notes MDA V8.3.1/1. Release Notes. Release: January Page 1 of 11

ETAS ASCMO 5.2 Release Notes. Release Notes. Page 1 of 12

ASCET-SE V6.3. EHOOKS Target User Guide

ASCET-DEVELOPER 7.3 Getting Started Guide

ES585.1 K-Line Interface Compact. User's Guide

=============================================================== ===============================================================

INCA-ES9xx V7.0.2 Release Notes

LIN Editor User s Guide

INCA V7.2 Service Pack 01 Release Notes. Release Notes. Release: July 19, Page 1 of 20

AIMMS Tutorial for Professionals - Getting Acquainted

ELO. ELO Dropzone. Document Management and Archiving Software. September ELO Digital Office GmbH.

Table of Contents ================================================================

EHOOKS V4.0 PRE-RELEASE

MDA V Release Notes MDA V Release Notes. Page 1 of 21

MDA V8.2 User's Guide

INCA-EIP V7.2 User s Guide

ES Gasoline Direct Injection Load. User s Guide

EHOOKS V4.3 User Guide

Operating Manual. MELAview 3. Documentation software. from version 3.5. Dear doctor,

ASCET V6.3 AUTOSAR User s Guide

Network Installation for ES1130 and ES1120 User s Guide

ASCET-DEVELOPER Release Notes

HowTo 6 - Use CallApplicationAPIs in GSE

EB GUIDE documentation

Microsoft Dynamics GP. Extender User s Guide Release 9.0

INCA-MIP V16.0 for INCA V7.1 User s Guide

Welcome to the. SACRRA Data Master Application. Administration Guide

Nero AG SecurDisc Viewer

Chapter 13: Handling Events

LABCAR-OPERATOR V5.4.2 User s Guide

INCA-VLINK V1.3 Getting Started

Parallels Pro Control Panel

eturboware 4.x For Windows 2000/XP User s Guide Part No: M , Ver:1.0

Word Tutorial 3. Creating a Multiple- Page Report COMPREHENSIVE

Cinegy. Prompter 10.5 Manual

Panaboard Overlayer User's Guide. Image Capture Software for Electronic Whiteboard (Panaboard)

NiceLabel Quick Start Guide

Scenario Manager User Guide. Release September 2013

Quick Start Guide. ARIS Architect. Version 9.8 Service Release 2

SAS IT Resource Management 3.3

Workflow and Approvals Guide. For Document Manager Enterprise Edition

Blackboard Portfolio System Owner and Designer Reference

ASCET Rapid Prototyping V6.4 User s Guide

ECE 480 Application Note. By: Jacob Hersha 4/3/15. Creating a Sequence of Media with Visual Studio

LABCAR-AUTOMATION ATCL (Automotive Test Class Library) Getting Started for Test Case Developers

Creating Interactive PDF Forms

EPLAN License Manager Installation Guide Version Status: 06/2017

INCA V7.2 Service Pack 2.2 Release Notes. Release Notes. Release: November Page 1 of 32

Nero AG SecurDisc Viewer

Quick Start. Getting Started

Presented by: Megan Bishop & Courtney Valentine

Adobe Sign for Microsoft Dynamics

Exploring Code with Microsoft Pex

TABLE OF CONTENTS CHAPTER

INCA V7.2 INCA Instrument Integration Development Kit V1.2 Tutorial

FaxCenter User Guide. For AccuRoute v5.0

Transcription:

MDA Custom Map Control Creation for GPS View V1.1 Tutorial

Copyright The data in this document may not be altered or amended without special notification from ETAS GmbH. ETAS GmbH undertakes no further obligation in relation to this document. The software described in it can only be used if the customer is in possession of a general license agreement or single license. Using and copying is only allowed in concurrence with the specifications stipulated in the contract. Under no circumstances may any part of this document be copied, reproduced, transmitted, stored in a retrieval system or translated into another language without the express written permission of ETAS GmbH. Copyright 2018 ETAS GmbH, Stuttgart The names and designations used in this document are trademarks or brands belonging to the respective owners. Document MDA-GPS-CustomMapControl_Tutorial V1.1 R03 EN 03.2018 2

Contents Contents 1 Introduction... 4 1.1 Definitions and Abbreviations... 4 1.2 Conventions... 4 2 What you need to know... 5 2.1 What you have learned after completing the tutorial... 5 2.2 Prerequisites of the system... 5 2.3 Prerequisites to use the tutorial successfully... 5 2.4 Architecture of GPS View... 6 3... 8 3.1 Objectives... 8 3.1.1 Create a new project... 8 3.1.2 Add MapControlManager reference... 10 3.1.3 Add Map Control provider reference... 10 3.1.4 Data structures and enums in IMapControl... 10 3.1.5 Implement IMapControl interface... 11 3.1.5.1 CreateMapControl method... 11 3.1.5.2 AddTrack method... 11 3.1.5.3 UpdateTrack method... 12 3.1.5.4 UpdateTrackProperties method... 13 3.1.5.5 ZoomAndCenterTrack method... 13 3.1.5.6 SetZoomLevel method... 13 3.1.5.7 AddMarker method... 14 3.1.5.8 UpdateMarker method... 14 3.1.5.9 RemoveMarker method... 14 3.1.5.10 RemoveTrack method... 15 3.1.5.11 ZoomLevelChanged event... 15 3.1.5.12 SetOfflineMapDataPath method... 16 3.2 Use CustomMapControl in GPS View of MDA v7.2... 16 4 Glossary... 18 5 ETAS Contact Addresses... 19 MDA Custom Map Control Creation for GPS View V1.1 Tutorial 3

Introduction 1 Introduction MDA V7.1 offers the ability to show maps using a GPS view. By design MDA provides a framework for the integration of different map control providers, which actually realize the rendering and display of the maps. This enables customers to use their preferred map control, which may already be used in their organization. MDA provides OSM(via GMap.NET control) as a default map provider to render the map data in GPS View. This tutorial shows the step by step procedure to implement custom map control and integrate with GPS view. 1.1 Definitions and Abbreviations GPS OSM Global Positioning System Open Street Map 1.2 Conventions The following typographical conventions are used in this document: Choose File Open. Click OK. Press ENTER. The Open File dialog box is displayed. Select the file setup.exe A distribution is always a onedimensional table of sample points. Menu commands are shown in boldface. Buttons are shown in boldface. Keyboard commands are represented in bold capitals Names of programs, program windows, dialog boxes, fields, etc. are shown in bold font. Code references like methods etc., path and file names are shown in Courier New font. Note! and Warning! content as well as new or important terms are set in italics. MDA Custom Map Control Creation for GPS View V1.1 Tutorial 4

Pro ETAS What you need to know 2 What you need to know 2.1 What you have learned after completing the tutorial This tutorial will enable you: to create and implement custom map control to use the custom map control with the GPS view in MDAv7.1 2.2 Prerequisites of the system To implement Custom Map Control you need Visual Studio 2010 The programming of Map Control has to be done in a.net-language. Make sure your operating system supports the tools and standards listed above. Custom Map Control SDK that is of interest l Note! If the map control provider has certain license model, then your map control implementation is responsible for the doing the checks that the user has a valid license. 2.3 Prerequisites to use the tutorial successfully This tutorial has been written for experienced software developers. Successful work with this tutorial requires a sound knowledge of: Knowledge of respective Map Control SDK Object Oriented Programming Basic knowledge of Visual Studio 2010 The.NET Framework 4.0 MDA Custom Map Control Creation for GPS View V1.1 Tutorial 5

What you need to know 2.4 Architecture of GPS View The above diagram depicts the architecture of GPS View. Responsibilities of MDA: Handling the assignments of tracks and markers Passing latitude and longitude points to the map control Managing the lifetime of the map control Responsibilities of MapControl: Render the map data and display tracks and markers in the map Handling the zoom level changed events License checks specific to map provider/control Error handling related to map data rendering and license Please refer to the image below to get familiarity with Map Control Terminology MDA Custom Map Control Creation for GPS View V1.1 Tutorial 6

What you need to know MDA Custom Map Control Creation for GPS View V1.1 Tutorial 7

3 3.1 Objectives You will learn how to create a custom map control, here called CustomMapControl. You will learn how to use this custom map control in GPS View of MDA v7.1. 3.1.1 Create a new project Open Visual Studio 2010 Select File New Project Select the project type as Class Library Change the project name to CustomMapControl Click OK Fig 3-1 - Visual Studio Project Wizard The CustomMapControl project is created. Open the project properties Check the Target Frame work version is.net Framework 4 as shown in the image below MDA Custom Map Control Creation for GPS View V1.1 Tutorial 8

Check the Platform target is Any CPU as shown in the image below MDA Custom Map Control Creation for GPS View V1.1 Tutorial 9

3.1.2 Add MapControlManager reference Add MapControlManager.dll assembly to the reference folder of the project Note! The reference folder of your Visual Studio project contains a reference to the MapControlManager.dll. This is the DLL containing IMapControl interface classes for implementing custom map control. Please find under<$mdainstalledpath>\mda -> MapControlManager.dll. 3.1.3 Add Map Control provider reference Add the respective Map Control provider dependent assemblies as references of this project. 3.1.4 Data structures and enums in IMapControl MapControlManager namespace contains the following data structures/enums which would be used by class implementing IMapControl TrackProperties: Represents the track properties like Color & Width of the track LatLong: Represents Latitude & Longitude of a track point. Latitude value ranges from -90 to 90 and longitude value ranges from -180 to 180 degrees. STATUSCODE: An enum represents the return value of actions like AddTrack, UpdateTrack etc which would be SUCCESS or FAILURE public struct TrackProperties public string Name; public int Width; public Color Color; public struct LatLong public double Lat; public double Lng; public enum STATUSCODE SUCCESS, MDA Custom Map Control Creation for GPS View V1.1 Tutorial 10

FAILURE public sealed class ZoomEventArgs : EventArgs public ZoomEventArgs(double ZoomVal) Zoom = ZoomVal; public double Zoom get; set; 3.1.5 Implement IMapControl interface IMapControl is the generic interface that enables the use of any Custom Map Control in the GPSView of MDA. Following sections will describe the methods defined in the IMapControl interface that need to be implemented by the custom map control. 3.1.5.1 CreateMapControl method Signature: UserControl CreateMapControl(string MapControlMode); Description: Creates a new object of the System.Windows.Forms.UserControl which contains the Custom Map Control placed on the User Control. Initial default tile image is set in the map control. Ideal default image can be showing the entire globe in the map control. Pre-condition: CustomMapControl is already loaded into the GPS View Post-condition: User Control is successfully created. User control shows entire globe with the least number of tile images. Parameters: MapControlMode Type: string Description: Input string stating should map data be read from internet connection or offline. Allowed input strings are On-line and Off-line. System.Windows.Forms.UserControl This will be placed into the Map region of GPS View, during the load time. 3.1.5.2 AddTrack method Signature: STATUSCODE AddTrack(string TrackGUID, TrackProperties TrackProps, List<LatLong> LatLngPoints); MDA Custom Map Control Creation for GPS View V1.1 Tutorial 11

Description: Creates a new track of LatLon point in the LatLngPoints parameter. Sets the Color and Width of the Route. No changes required to the zoom level, center of the map and bounding box of the map control. Pre-Condition: TrackGUID should be unique and LatLngPoints should have valid latitude and longitude values. Post-Condition: Track is successfully created and shown in the Map Control. Error-Condition: If the track with the TrackGUID already exists, then return value will be FAILURE which is of type enum STATUSCODE. Parameters: TrackGUID Type: string Description: Contains the track ID of the new track to be created TrackProperties Type: TrackProperties Description: Contains the Color & Width of the track to be created List<LatLong> - Consists of the various Latitude & Longitude points of the track to be created. STATUSCODE: 3.1.5.3 UpdateTrack method Signature: STATUSCODE UpdateTrack(string TrackGUID, List<LatLong> LatLngPoints); Description: Replaces existing track with the new track in the map control with new set of latitude/longitude points and redraws it. No changes required to the zoom level, center of the map and bounding box of the map control. Pre-condition: Track with the TrackGUID should already be added to the Map Control and LatLngPoints should have valid latitude and longitude values. Post-condition: Track is shown in the Map Control with the update latitude and longitude values. Error-condition: If the track with the TrackGUID doesn t exist, then no track will be updated. Return value will be FAILURE which is of type enum STATUSCODE. Parameters: TrackGUID Type: string Description: Contains the name of the track to be updated. List<LatLong> - Consists of the various Latitude & Longitude points STATUSCODE MDA Custom Map Control Creation for GPS View V1.1 Tutorial 12

3.1.5.4 UpdateTrackProperties method Signature: STATUSCODE UpdateTrackProperties(string TrackGUID, TrackProperties TrackProps); Description: Redraws an already existing track with new TrackProperties Color & Width. Pre-condition: Track with the TrackGUID should already be there in the Map Control Post-condition: Track color and width is applied to the track and shown in the Map Control Error-condition: If the track with the TrackGUID doesn t exist, then no properties will be updated for the track. Return value will be FAILURE which is of type enum STATUSCODE. Parameters: TrackGUID Type: string Description: Contains the track name whose properties needs to be updated TrackProperties Type: TrackProperties Description: Contains the Color & Width of the track to be updated STATUSCODE 3.1.5.5 ZoomAndCenterTrack method Signature: STATUSCODE ZoomAndCenterTrack(string TrackGUID); Pre-condition: Track with the TrackGUID should already be there in the Map Control Post-condition: Track with the TrackGUID is fit to the visible area of the map control by calculating the track s left, top, and right and bottom position based on the min and max values of latitude and longitude points. Center of the map is changed and zoom level is changed to fit the track within the visible area of the map control. Other tracks may or may not be fully visible. Error-condition: If the track with the TrackGUID doesn t exist, then no track will be aligned. Return value will be FAILURE which is of type enum STATUSCODE. Description: Zooms and centers the track in context. So that the visible area of the map is set to the bounding box of a track. Parameters: TrackGUID Type: string Description: Name of the track whose bounding box needs to be set. STATUSCODE 3.1.5.6 SetZoomLevel method Signature: STATUSCODE SetZoomLevel(double ZoomValue); Pre-condition: Map Control is loaded in the GPS View MDA Custom Map Control Creation for GPS View V1.1 Tutorial 13

Post-condition: Zoom level is applied to the Map Control. Bounding box and visibility of all the tracks in the map control will be changed according to the zoom level. Error-condition: If the ZoomValue is not within the allowed range of map control s allowed valid range, and then return value will be FAILURE which is of type enum STATUSCODE. Description: Sets the Zoom level of the Map control. Center of the map is not changed. Bounding box and zoom level of the map control is changed. If the value is outside the range then min or max value of the Map Control is used instead. Parameters: ZoomLevel zoom level to be set for the map control. STATUSCODE 3.1.5.7 AddMarker method Signature: STATUSCODE AddMarker(string MarkerID, LatLong LtLg, string ToolTip, Bitmap Bmp); Pre-condition: MarkerID should be unique and LtLg should be a valid latitude and longitude value and Bmp should have the valid image. Post-condition: Marker is added to the MapControl at the specified latitude and longitude point and the tool tip will be shown when the mouse pointer is over the marker. Description: Creates a new Marker in the map control at the latitude/longitude point specified. Sets the tool tip of the marker as specified. If the bitmap is null, then default bitmap is used to draw the markers. No changes required to the zoom level, center of the map and bounding box of the map control. Also tags the marker with the MarkerID. 3.1.5.8 UpdateMarker method Signature: STATUSCODE UpdateMarker(string MarkerID, LatLong LtLg); Pre-condition: Marker with MarkerID should already be there in the Map Control Post-condition: Marker is shown in the updated location of LtLg Error-condition: If the marker with MarkerID doesn t exist, then it will not be updated and return value will be FAILURE which is of type enum STATUSCODE. Description: Replaces and Redraws a marker with MarkerId at latitude/longitude point specified. No changes required to the zoom level, center of the map and bounding box of the map control. STATUSCODE 3.1.5.9 RemoveMarker method Signature: STATUSCODE RemoveMarker(string MarkerID); Pre-condition: Marker with the MarkerID should already be there in the Map Control Post-condition: Marker is removed and disappeared from the Map Control Error-condition: If the marker with MarkerID doesn t exist, then no operation and return value will be FAILURE which is of type enum STATUSCODE. Description: Removes a marker with tag MarkerID from the map control. STATUSCODE MDA Custom Map Control Creation for GPS View V1.1 Tutorial 14

3.1.5.10 RemoveTrack method Signature: STATUSCODE RemoveTrack (string Name); Pre-condition: Track with the Name should already be there in the Map Control Post-condition: Track is removed and disappeared from the Map Control. Removing the track will not remove markers. Error-condition: If the track with the Name doesn t exist, no track will be deleted and STATUSCODE returned will be FAILURE. Description: Removes a track with the Name from the map control. STATUSCODE 3.1.5.11 ZoomLevelChanged event Signature: event EventHandler<ZoomEventArgs> ZoomLevelChanged; Description: Occurs every time the user modifies the Zoom Level of the map control. MapControl needs to handle the MouseDoubleClick and MouseWheel events and trigger ZoomLevelChanged event by passing the updated zoom level value. Sample code snippet is given below: private void gmapcontrol1_doubleclick(object sender, EventArgs e) if ((Control.ModifierKeys & Keys.Control) == Keys.Control) double click this.gmapcontrol1.zoom--; //Reduce the zoom level on CTRL + Mouse else double click this.gmapcontrol1.zoom++; //Increase the zoom level on Mouse // Notify the GPS View by passing the updated zoom level TriggerZoomLevelChanged(this, new ZoomEventArgs(gMapControl1.Zoom)); private void gmapcontrol1_mousewheel(object sender, MouseEventArgs e) // Notify the GPS View by passing the updated zoom level TriggerZoomLevelChanged(this, new ZoomEventArgs(gMapControl1.Zoom)); MDA Custom Map Control Creation for GPS View V1.1 Tutorial 15

3.1.5.12 SetOfflineMapDataPath method Signature: STATUSCODE SetOfflineMapDataPath(string MapDataPath) Pre-condition: MapDataPath should be a valid folder path Post-condition: If the folder name with Map Data is not available, it will be created and Map data is taken from this path if MapControlMode is off-line. If the folder doesn t contain the map data files, then error/empty tile images will be shown in the map control. This behavior depends on the map control provider. Error-condition: If folder is missing and can t be created, then return value will be FAILURE which is of type enum STATUSCODE. Description: Method is used for setting the folder path of the Map Data stored in the hard drive. Open Street Map Control uses the Map Data stored in this in folder in case the mode is set to off-line. Parameters: MapDataPath Type: string Description: Input string to specify the folder path of the map data STATUSCODE Note: User might have to copy the off-line map data files to this folder manually. In case the folder doesn t contain required map data files, then error/empty tile images will be shown based on the map control provider. 3.2 Use CustomMapControl in GPS View of MDA v7.2 With the Build Visual Studio, generates the CustomMapControl.dll. User needs to copy the CustomMapControl.dll & the required dependant assemblies to the folder <$ETASData>\MDA7.1\Instruments\ETAS.GPSInstrument\MapControlPlugins>. MDA v7.1.0 is able to recognize the new Map Control. User is able to select the Map Control from the GPS-Map View Properties window. Properties window can be opened by right clicking on the GPS Instrument and clicking on the Properties context menu item. Please see the image below: MDA Custom Map Control Creation for GPS View V1.1 Tutorial 16

MDA Custom Map Control Creation for GPS View V1.1 Tutorial 17

Glossary 4 Glossary The chapter titled "Glossary" explains all technical terms used in the manual. The terms are listed in alphabetic order. Marker Track Icon/Image that shows the particular position in the track Path travelled by a vehicle shown as a route in the Map Control MDA Custom Map Control Creation for GPS View V1.1 Tutorial 18

ETAS Contact Addresses 5 ETAS Contact Addresses ETAS HQ ETAS GmbH Borsigstraße 24 Phone: +49 711 3423-0 70469 Stuttgart Fax: +49 711 3423-2106 Germany WWW: www.etas.com ETAS Subsidiaries and Technical Support For details of your local sales office as well as your local technical support team and product hotlines, take a look at the ETAS website: ETAS subsidiaries WWW: www.etas.com/en/contact.php ETAS technical support WWW: www.etas.com/en/hotlines.php MDA Custom Map Control Creation for GPS View V1.1 Tutorial 19