Navigon INTEGRATION KIT 4.0 User Manual

User’s manual
NAVIGON Integration Kit 4.0
as on October 2004
Impressum
NAVIGON GmbH Berliner Platz 11
Hotline (dtms-Service, 0,12 €/min): +49 180-5-NAVIGON (+49 180-5-6284466)
The information contained herein may be changed at any time without prior notification. This manual nor any parts thereof may not be reproduced for any purpose whatsoever without the express written consent of NAVIGON GmbH, nor transmitted in any form either electronically or mechanically, including photocopying and recording. Copyright 2004, NAVIGON GmbH All rights reserved.
Table of contents
1 Introduction................................................................6
1.1
On this manual................................................................. 7
1.2
Specification of services .................................................... 7
1.2.1 Supported operating systems .................................. 8
1.3
System requirements ........................................................ 9
1.4
Installation ...................................................................... 9
1.4.1 Installation of the Windows 2000/XP version ............10
1.4.2 Installation of the Windows CE version ....................10
1.5
Search facilities and conventions .......................................11
1.6
Liability ..........................................................................11
1.6.1 Support ...............................................................12
1.7
Trademarks ....................................................................12
User’s manual NAVIGON Integration Kit 4.0
2 Programming interfaces............................................13
2.1
Requirements for using NIK with a development environment
14
2.2
2.3
2.4
2.1.1 Using the interfaces ..............................................14
2.1.2 A survey on the interfaces .....................................15
IMNNIK ..........................................................................15
2.2.1 MNOpen() method ................................................16
2.2.2 MNClose() method ................................................16
2.2.3 GetMNOpen() method ...........................................17
2.2.4 GetMNVersion() method ........................................17
2.2.5 Starting and closing NIK ........................................18
IADDRESS ......................................................................19
2.3.1 OpenAddress() method) ........................................20
2.3.2 CloseAdress() method ...........................................20
2.3.3 SearchFirstCityAddress() method............................21
2.3.4 SearchFirstCityPostalCodeAddress() method ............22
2.3.5 SearchNextCityAddress() method ...........................23
2.3.6 SearchFirstStreetAddress() method.........................25
2.3.7 SearchNextStreetAddress() method ........................27
2.3.8 SearchPoiByRadiusAddress() method ......................28
2.3.9 SearchNextPoiAddress() method .............................30
2.3.10 ConvertCoordInAddress() method .........................31
2.3.11 ConvertCoordInAddress2() method .......................32
2.3.12 ConvertCoordInCountry() method .........................33
IROUTING ......................................................................34
2.4.1 OpenRoute() method.............................................35
2.4.2 CloseRoute() method ............................................36
2.4.3 AddDestCoordRoute() method ................................36
2.4.4 GetDestCoordRoute() method ................................37
2.4.5 ClearDestCoordRoute() method ..............................38
2.4.6 StartRoute() method .............................................38
2.4.7 ShowRoute() method ............................................39
2.4.8 ClearRoute() method .............................................39
2.4.9 ZoomInRoute() method .........................................40
2.4.10 ZoomOutRoute() method .....................................40
Table of contents - I -
User’s manual NAVIGON Integration Kit 4.0
2.5
2.6
2.4.11 ShowDownRoute() method...................................40
2.4.12 ShowUpRoute() method .......................................41
2.4.13 ShowLeftRoute() method .....................................41
2.4.14 ShowRightRoute() method ...................................41
2.4.15 ShowStartPointRoute() method.............................42
2.4.16 ShowEndPointRoute() method ..............................42
2.4.17 SetRotationRoute() method ..................................43
2.4.18 GetRotationRoute() method..................................43
2.4.19 GetStatusRoute() method ....................................44
2.4.20 GetResultRoute() method.....................................44
2.4.21 MapShowRoute() method .....................................45
2.4.22 GetFirstWayListRoute() method ............................45
2.4.23 GetNextWayListRoute() method ............................46
2.4.24 SetZoomLevelInRoute() method ...........................47
2.4.25 GetZoomLevelInRoute() method ...........................48
2.4.26 SetMaxResolutionRoute() method .........................48
2.4.27 GetMaxResolutionRoute() method .........................49
2.4.28 ChangeGeoToMapCoordRoute() method .................49
2.4.29 ChangeMapToGeoCoordRoute() method .................50
2.4.30 Example for route calculation................................51
IPOSITION......................................................................52
2.5.1 OpenPosition() method ..........................................53
2.5.2 ClosePosition() method..........................................54
2.5.3 StartPosition() method ..........................................54
2.5.4 GetPosition() method ............................................55
2.5.5 ZoomInPosition() method ......................................55
2.5.6 ZoomOutPosition() method ....................................56
2.5.7 ShowDownPosition() method ..................................56
2.5.8 ShowUpPosition() method ......................................56
2.5.9 ShowLeftPosition() method ....................................57
2.5.10 ShowRightPosition() method.................................57
2.5.11 SetRotationPosition() method ...............................57
2.5.12 GetRotationPosition() method ...............................58
2.5.13 MapShowPosition() method ..................................59
2.5.14 SetBirdViewPosition() method...............................59
2.5.15 SetZoomLevelInPosition() method.........................60
2.5.16 GetZoomLevelInPosition() method ........................60
2.5.17 SetMaxResolutionPosition() method.......................61
2.5.18 GetMaxResolutionPosition() method ......................61
2.5.19 ChangeGeoToMapCoordPosition() method ..............62
2.5.20 ChangeMapToGeoCoordPosition() method ..............62
INAVIGATION .................................................................64
2.6.1 OpenNavigation() method ......................................66
2.6.2 CloseNavigation() method ......................................67
2.6.3 SetDestIdNavigation() method ...............................67
2.6.4 GetDestIdNavigation() method ...............................68
2.6.5 SetDestCoordNavigation() method ..........................68
2.6.6 GetDestCoordNavigation() method..........................69
2.6.7 SetDestTrackNavigation() method...........................70
2.6.8 StartNavigation() method ......................................71
2.6.9 ShowRouteNavigation() method .............................71
2.6.10 RepeatLastAdviceNavigation() method ...................72
2.6.11 ZoomInNavigation() method.................................72
2.6.12 ZoomOutNavigation() method ..............................72
2.6.13 ShowDownNavigation() method ............................73
2.6.14 ShowUpNavigation() method ................................73
2.6.15 ShowLeftNavigation() method...............................73
- II - Table of contents
User’s manual NAVIGON Integration Kit 4.0
2.7
2.8
2.6.16 ShowRightNavigation() method.............................74
2.6.17 ShowStartPointNavigation() method ......................74
2.6.18 ShowEndPointNavigation() method........................74
2.6.19 SetRotationNavigation() method ...........................75
2.6.20 GetRotationNavigation() method ...........................75
2.6.21 GetStatusNavigation() method..............................76
2.6.22 GetRoutingResultNavigation() method ...................76
2.6.23 ShematicViewOpenNavigation() method.................77
2.6.24 ShematicViewShowNavigation() method ................78
2.6.25 DistanceBarOpenNavigation() method ...................79
2.6.26 DistanceBarShowNavigation() method ...................80
2.6.27 MapShowNavigation() method ..............................80
2.6.28 SetBirdViewNavigation() method...........................81
2.6.29 GetFirstWayListNavigation() method......................81
2.6.30 GetNextWayListNavigation() method .....................82
2.6.31 SetZoomLevelInNavigation() method.....................83
2.6.32 GetZoomLevelInNavigation() method ....................84
2.6.33 SetMaxResolutionNavigation() method...................84
2.6.34 GetMaxResolutionNavigation() method ..................85
2.6.35 ChangeGeoToMapCoordNavigation() method ..........85
2.6.36 ChangeMapToGeoCoordLocationMap() method........86
2.6.37 Examples ...........................................................87
IOPTIONS.......................................................................89
2.7.1 SetRoutingAlgorithmOptions() method ....................90
2.7.2 SetRoutingAlgorithmOptions2() method...................91
2.7.3 GetRoutingAlgorithmOptions() method ....................91
2.7.4 GetRoutingAlgorithmOptions2() method ..................92
2.7.5 SetRoutingAvoidTypeOptions() method....................93
2.7.6 GetRoutingAvoidTypeOptions() method ...................94
2.7.7 SetStyleMapOptions() method ................................95
2.7.8 GetStyleMapOptions() method ................................95
2.7.9 SetKeyboardMapModeOptions() method ..................96
2.7.10 GetKeyboardMapModeOptions() method ................96
2.7.11 GetBasicMapFolderOptions() method .....................97
2.7.12 SetBasicMapFolderOptions() method .....................97
2.7.13 GetMapsNumberOptions() method ........................98
2.7.14 GetMapsPathsOptions() method ............................98
2.7.15 SetCurrentMapOptions() method...........................99
2.7.16 GetCurrentMapOptions() method ..........................99
2.7.17 GetRadioMutingOptions() method .......................100
2.7.18 SetRadioMutingOptions() method........................100
2.7.19 GetLanguageCodeOptions() method ....................101
2.7.20 SetLanguageCodeOptions() method ....................101
2.7.21 GetDistUnitOptions() method..............................102
2.7.22 SetDistUnitOptions() method ..............................102
2.7.23 SetLouderOptions() method ...............................103
2.7.24 SetQuieterOptions() method ...............................103
2.7.25 SetPoiMapFolderOptions() method ......................104
2.7.26 OpenPoiMapsOptions() method ...........................104
2.7.27 ClosePoiMapsOptions() method ...........................105
IGPS ............................................................................106
2.8.1 OpenGPS() method .............................................107
2.8.2 CloseGPS() method .............................................107
2.8.3 GetStatusGPS() method ......................................108
2.8.4 SetGpsReceiverType() method .............................109
2.8.5 GetGpsReceiverType() method .............................109
2.8.6 SetGpsReceiverPort() method ..............................110
Table of contents - III -
User’s manual NAVIGON Integration Kit 4.0
2.8.7 GetGpsReceiverPort() method ..............................110
2.8.8 SetGpsReceiverBaudRate() method.......................111
2.8.9 GetGpsReceiverBaudRate() method ......................111
2.8.10 SetDataSourceGps() method ..............................112
2.8.11 SetDataGps() method ........................................113
2.9
ITMC............................................................................114
2.9.1 OpenTmc() method .............................................115
2.9.2 OpenTmc2() method ...........................................116
2.9.3 CloseTmc() method.............................................116
2.9.4 GetStatusTmc() method ......................................117
2.9.5 UpdateTmc() method ..........................................118
2.9.6 GetRadioStationTmc() method..............................118
2.9.7 SearchFirstMessageTmc() method.........................120
2.9.8 SearchNextMessageTmc() method ........................121
2.9.9 GetLastKnownFreqTmc() method ..........................123
2.9.10 GetLastKnownPiCodeTmc() method .....................123
2.10 ILOCATIONMAP .............................................................124
2.10.1 OpenLocationMap() method................................125
2.10.2 CloseLocationMap() method ...............................126
2.10.3 StartLocationMap() method ................................126
2.10.4 ShowCoordInLocationMap() method ....................126
2.10.5 ShowObjectIDInLocationMap() method ................128
2.10.6 ZoomInLocationMap() method ............................129
2.10.7 ZoomOutLocationMap() method ..........................129
2.10.8 ShowDownLocationMap() method .......................129
2.10.9 ShowUpLocationMap() method............................130
2.10.10 ShowLeftLocationMap() method ........................130
2.10.11 ShowRightLocationMap() method ......................130
2.10.12 SetZoomLevelInLocationMap() method ..............131
2.10.13 GetZoomLevelInLocationMap() method ..............131
2.10.14 SetMaxResolutionLocationMap() method ............132
2.10.15 GetMaxResolutionLocationMap() method ............132
2.10.16 ChangeGeoToMapCoordLocationMap() method .... 133
2.10.17 ChangeMapToGeoCoordLocationMap() method .... 133
2.10.18 SetReceivePointLocationMap() method...............134
2.10.19 GetReceivePointLocationMap() method ..............135
2.10.20 MapShowLocationMap() method ........................135
2.11 ITRACK ........................................................................137
2.11.1 RecordTrack() method .......................................138
2.11.2 GetRecordTrackMode() method ...........................138
2.11.3 GetCoordTrack() method ...................................139
2.11.4 SetAngleTrack() method ....................................140
2.11.5 GetAngleTrack() method ....................................140
2.11.6 SetMaxNumberTrack() method ...........................141
2.11.7 GetMaxNumberTrack() method ...........................141
2.12 ISIMULATION................................................................142
2.12.1 CreateGPSFile() method.....................................143
2.12.2 StartSimulationGPS() method .............................144
2.12.3 StopSimulationGPS () method ............................144
2.12.4 StartSimulationTMC() method ............................145
2.12.5 StopSimulationTMC() method .............................145
2.12.6 SetSimulationSpeed() method ............................146
2.12.7 GetSimulationSpeed() method ............................146
2.12.8 SetSimulationPosition() method ..........................147
2.12.9 GetSimulationPosition() method..........................147
2.13 IMNNIKEvents...............................................................148
- IV - Table of contents
User’s manual NAVIGON Integration Kit 4.0
2.13.1 Declaring an event class ....................................149
2.13.2 Implementation in your application .....................149
2.13.3 RTProgressCallback() method .............................150
2.13.4 TMCMessageActivateCallback() method ...............150
2.13.5 TMCMessageDeactivateCallback() method ............151
2.13.6 GPSMessageCallback() method ...........................152
2.13.7 NAVAudioAdviceCallback() method......................152
2.13.8 NAVVisualAdviceCallback() method .....................153
2.13.9 LButtonDownNavigationMapCallback() method .....154
2.13.10 MouseMoveNavigationMapCallback() method ......154
2.13.11 LButtonDownRouteMapCallback() method ..........155
2.13.12 MouseMoveRouteMapCallback() method .............156
2.13.13 LButtonDownPositionMapCallback() method........ 156
2.13.14 MouseMovePositionMapCallback() method .......... 157
2.13.15 LButtonDownLocationMapCallback() method ....... 158
2.13.16 MouseMoveLocationMapCallback() method .........158
2.13.17 MAPKeyBoardCallback() method........................159
2.13.18 NAVOnDrawingCallback() method......................160
2.13.19 RoutingOnDrawingCallback() method.................161
2.13.20 PositionOnDrawingCallback() method.................162
2.13.21 LocationOnDrawingCallback() method................163
2.13.22 NAVOnRunningCallback() method......................164
2.13.23 NAVOnStopCallback() method ...........................164
3 Appendix.................................................................165
3.1
3.2
3.3
Appendix A: Enumerations..............................................166
Appendix B: User defined POI (optional)...........................174
Appendix C: Demo application.........................................174
4 Glossary ..................................................................175
Table of contents - V -
User’s manual NAVIGON Integration Kit 4.0
1 Introduction
Topics covered in this chapter:
1.1 On this manual page 7
1.2 Specification of services page 7 Supported operating systems
1.3 System requirements page 9
1.4 Installation page 9 Installation of the Windows 2000/XP version Installation of the Windows CE version
1.5 Search facilities and conventions page 11
1.6 Liability page 11 Support
1.7 Trademarks page 12
- 6 - On this manual
User’s manual NAVIGON Integration Kit 4.0
1.1 On this manual
Introduction This manual describes the NAVIGON Integration Kit (NIK). It
explains the installation procedure and the registration of the COM DLL, its methods, and the complete interface functionality.
Notice: Your CD contains an online help that also explains all methods. Use the online help to look for contents quickly and efficiently.
1.2 Specification of services
General survey on NIK
COM-DLL NIK is a COM-DLL providing several interfaces which may be
Features NIK supports all features that are typical for navigation.
The NAVIGON Integration KIT (NIK) is a worldwide unique development environment which meets the requirements of individual and company specific claims. Based on NIK, NAVIGON and their partners are developing customised navigation and integration solutions – mobile navigation custom-tailored to your requirements.
NIK offers a unique combination of both powerful navigation and access to the company’s database using a standardised COM interface.
applied irrespective of the used programming language (as e.g. C++, Visual Basic, or Java). Thus it enables the easy integration of an entire navigation solution into third-party systems as route planning, order processing, or merchandise management (transfer of positional coordinates or address data in both directions).
The map for navigation may be displayed in any window using a windows handle.
Additionally, it provides the possibility to represent data transmitted by third party systems.
Introduction - 7 -
User’s manual NAVIGON Integration Kit 4.0
Methods The Integration Kit provides numerous methods for using the
functionality of the navigation software. Make use of the following interfaces:
Interface Description
IMNNIK Running and closing the navigation software.
IADDRESS Connecting to the database of places.
IROUTING Route planning and calculation.
IPOSITION Displaying the current position on the map.
INAVIGATION Navigation to any destination.
IOPTIONS Determining global parameters.
IGPS Getting current GPS data.
ITMC Including TMC data.
ILOCATIONMAP Displaying customised maps.
ITRACK Recording tracks.
ISIMULATION Using GPS / TMC simulation files.
IMNNIKEvents Event handling.
1.2.1 Supported operating systems
Operating systems NIK supports the following operating systems:
MS Windows 2000 (with service pack 4)
MS Windows XP (with service pack 1)
MS Windows Mobile 2003
The NAVIGON Integration Kit has been tested under the
following environments:
Platform Operating
system
Notebook and PC
Notebook and PC
Pocket PC Windows Mobile
Windows 2000 Windows XP
Windows 2000 Windows XP
2003
Programming language
C++ Microsoft Visual
Visual Basic Microsoft Visual
C++ Microsoft
Development environment
Studio 6.0
Basic 6.0
eMbedded Visual C++ 4.0
Notice: For further information on using the NAVIGON Integration Kit with your preferred development environment,
please refer to the demo software.
- 8 - Specification of services
User’s manual NAVIGON Integration Kit 4.0
1.3 System requirements
PC The following requirements must be fulfilled for Integration Kit
based applications to be developed on a PC:
Pentium PC 266 MHz
MS Windows 2000 (with service pack 4) or
MS Windows XP (with service pack 1)
32x CD drive
DVD drive
64 MB RAM (128 MB RAM recommended)
VGA-graphics adapter with at least 32000 colours
Microsoft compatible mouse
about 40 MB of free hard disk capacity for the program data
optional: about 1.1 GB of free hard disk capacity for the
complete map of Europe
Pocket PC The following requirements must be fulfilled for Integration Kit
based applications to be developed on a Pocket PC:
ARM Processor
Windows Mobile 2003
64 MB RAM (128 MB RAM recommended)
1.4 Installation
Survey The NAVIGON Integration Kit is delivered on CDs and
contains:
NIK-DLL
Map of Europe
Files for programming (header and tlb)
Demo application
Software MapExport (Windows CE version only)
Installation 1. Insert CD 1 and run Setup.exe.
2. Select either the User’s mode or the Developer’s mode.
You want to... then...
install only the NIK runtime environment,
install the development environment with all files, and the demo application,
select User’s mode.
select Developer’s mode.
Introduction - 9 -
User’s manual NAVIGON Integration Kit 4.0
Demo application Having executed the installation successfully, you may run the
NAVIGON Integration Kit demo application for getting information on how to integrate NIK into your application.
Attention: You will have to export a map with MapExport before running the demo application when you are using the Windows CE version.
1.4.1 Installation of the Windows 2000/XP version
Windows 2000/XP, all modes
Windows 2000/XP, developer’s mode
NIK-SDK user’s manual
Setup installs the navigation software, the map of Europe, and the MapExport software; and it registers the NIK-DLL with the operating system.
In developer’s mode, setup copies the following additional files to the program folder:
Interface files (Header, TLB, LIB und DLL)
Source code of the demo application
Demo application
1.4.2 Installation of the Windows CE version
Windows CE, all modes
Windows CE, developer’s mode
NIK-SDK user’s manual
Setup installs the NIK runtime environment; and it registers the NIK-DLL with the operating system.
In developer’s mode, setup copies the following additional files to the PC:
Interface files (Header, TLB, LIB und DLL)
Code for the demo application
Demo application
Map of Europe
MapExport software
- 10 - Installation
User’s manual NAVIGON Integration Kit 4.0
1.5 Search facilities and conventions
This manual offers the following search facilities: Find information
quickly
Conventions The conventions on the fonts and symbols used in this manual
In the footnote at the bottom of the page, you may check
which chapter and which section you are actually reading.
A glossary at the end of the manual contains explanations on
the technical terms used in this manual.
are explained in the two following tables:
Font Signification
bold Buttons, icons, names of entry fields, and
elements of the software’s user interface. Also used for highlighting warnings and notices.
bold italic Registered names and trademarks.
SMALL CAPITALS
Source code
Symbol Signification
Window and dialogue box titles.
File names and source code.
Indicates hints and notices that may ease the use of Configuration Kit.
Indicates additional information.
Warns against dangers that might cause damage to objects and persons.
1.6 Liability
Limitation of liability The present software and the present manual are subject to
change without notice. NAVIGON GmbH may not be liable for the correctness of the information contained in this manual nor for any damages resulting from the use of this manual.
To improve the quality of our products and our services, we appreciate all suggestions for improvement and all error notices.
Introduction - 11 -
User’s manual NAVIGON Integration Kit 4.0
1.6.1 Support
You need help? Call our support staff for Telephone support:
Mondays to Fridays 9am to 6pm +49 180-5-NAVIKIT (0180-5-6284548) (dtms-Service, 0,12 €/min)
Or call our Fax support: +49 180-5-6284444 (dtms-Service, 0,12 €/min)
On the web site of NAVIGON GmbH (http://www.navigon.com) you will find a Support section with a FAQ-list which gives answers to frequently asked questions.
1.7 Trademarks
Registered trademarks
Outlook, Windows, Access, Excel, SQL Server, Visual Studio,
All brands and trademarks mentioned in this document are possibly registered by third party and subject to the current legislation and to the rights of their respective owners without reservation. All mentioned names of products, societies, or brands may be registered trademarks of their respective owners. Every right that is not explicitly accorded is reserved.
The absence of an explicit labelling of registered trademarks does not allow the conclusion that this brand was not subject to the rights of third party.
Visual Basic, eMbedded Visual C++, and ActiveSync are registered trademarks of the Microsoft Corporation.
- 12 - Trademarks
User’s manual NAVIGON Integration Kit 4.0
2 Programming interfaces
Topics covered in this chapter:
2.1 Requirements for using NIK with a development environment page 14
2.2 IMNNIK page 15
2.3 IADDRESS page 19
2.4 IROUTING page 34
2.5 IPOSITION page 52
2.6 INAVIGATION page 64
2.7 IOPTIONS page 89
2.8 IGPS page 106
2.9 ITMC page 114
2.10 ILOCATIONMAP page 124
2.11 ITRACK page 137
2.12 ISIMULATION page 142
2.13 IMNNIKEvents page 148
Programming interfaces - 13 -
User’s manual NAVIGON Integration Kit 4.0
2.1 Requirements for using NIK with a development environment
Survey
The header file NIKxx.h, the object library NIKxx.TLB, and the NIKxx.DLL are the programming interface. They enable the use
of the other interfaces with your specific environment. Your project’s development environment (e.g. Microsoft Visual Studio) must therefore be bound to these files.
Platform Files
MS Windows 2000 MS Windows XP
Windows Mobile 2003
2.1.1 Using the interfaces
Interface instantiation
Releasing an interface instance
CoCreateInstance creates an instance of IMNNIK
QueryInterface creates instances of all other interfaces
CComObject::CreateInstance creates an instance of
IMNNIKEvents AtlAdvise connects to the NAVIGON Integration Kit
Release releases instances of interfaces
AtlUnadvise closes the connection of IMNNIKEvents to the
NAVIGON Integration Kit.
Header file: NIK32.h Object library: NIK32.TLB COM-DLL: NIK32.DLL
Header file: NIKCE.h Object library: NIKCE.TLB COM-DLL: NIKCE.DLL
Notice: You may find further information e.g. in the MSDN (Microsoft Software Developer’s Network).
Using interface methods
- 14 - Requirements for using NIK with a development environment
Most interfaces have open/close methods which have to be called before/after calling other methods of the respective interface.
User’s manual NAVIGON Integration Kit 4.0
2.1.2 A survey on the interfaces
Provided interfaces The NAVIGON Integration Kit provides the following
interfaces:
IMNNIK (Default-Interface), see page 15
IADDRESS, see page 19
IROUTING, see page 34
IPOSITION, see page 52
INAVIGATION, see page 59
IOPTIONS, see page 89
IGPS, see page 106
ITMC, see page 114
ILOCATIONMAP, see page 124
ITRACK, see page 137
ISIMULATION, see page 142
2.2 IMNNIK
Survey
Typical use
Methods
IMNNIKEvents, see page 142
The IMMNIK programming interface is used to run and to close the navigation software.
The Integration Kit must be opened at the start of an application and be closed at its end. Opening the Integration Kit when the application is running is not recommended.
Notice: Make sure that the MNOpen() method has completed before calling another method of this or of another interface (except GetMNOpen() and GetMNVersion(), see below).
MNOpen();
// other interfaces|methods
MNClose();
The IMNNIK interface defines the following methods:
MNOpen(), see page 16
MNClose() method, see page 16
GetMNOpen() method, see page 17
GetMNVersion() method, see page 17
Programming interfaces - 15 -
2.2.1 MNOpen() method
User’s manual NAVIGON Integration Kit 4.0
Description
The MNOpen() method starts the navigation software as a background process. It also executes a basic initialisation which makes NIK ready to use the other interfaces.
C++ syntax
IMNNIK::MNOpen
Type
HRESULT MNOpen()
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Notes The navigation software needs a certain time for initialising and
running. Make sure not to call methods of other interfaces before the initialisation and start process has been completed. Use the GetMNOpen() method (see page 17) to find out whether it has been completed or not.
The MNOpen() method identifies other instances of the navigation software and closes them.
Attention: Do not call another method before MNOpen() has been completed.
2.2.2 MNClose() method
Description
C++ syntax
Type
Return values The method returns one of the following values:
The MNClose() method closes the navigation software.
IMNNIK::MNClose
HRESULT MNClose()
Return value Signification
S_OK
S_FALSE
Done
Error
- 16 - IMNNIK
2.2.3 GetMNOpen() method
User’s manual NAVIGON Integration Kit 4.0
Description
The GetMNOpen() method returns the status of the current initialisation and starting process of the navigation software.
C++ syntax
IMNNIK::GetMNOpen
Type
HRESULT GetMNOpen([out] BOOL * a_open )
Parameters The method takes the following parameter:
Parameter Signification
a_open
Pointer to a BOOL variable which contains the status.
Return values The method returns one of the following values:
Return value Signification
S_OK
The initialisation and starting process has been completed.
S_FALSE
The initialisation and starting procedures has not yet been completed or is faulty.
2.2.4 GetMNVersion() method
Description
C++ syntax
Type
Parameters The method takes the following parameters:
The GetMNversion() method retrieves the version number (major version, minor version, and build) of the navigation software.
IMNNIK::GetMNVersion
HRESULT GetMNVersion(
[out] int * a_rnMajor,
[out] int * a_rnMinor,
[out] int * a_rnBuild )
Parameter Signification
a_rnMajor
Pointer to an INT variable which contains the major version number.
a_rnMinor
Pointer to an INT variable which contains the minor version number.
a_rnBuild
Pointer to an INT variable which contains the build number.
Programming interfaces - 17 -
User’s manual NAVIGON Integration Kit 4.0
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.2.5 Starting and closing NIK
Example
/* create an instance of the IMNNIK interface */
CoCreateInstance( __uuidof(MNNIK), NULL, CLSCTX_INPROC_SERVER,__uuidof(IMNNIK), (void**)&m_NIK );
/* Open NIK */
m_NIK->MNOpen();
/* Wait until NIK has been opened */
while( !bOpen )
m_NIK->GetMNOpen( &bOpen );
/* Close NIK */
m_NIK->MNClose();
- 18 - IMNNIK
2.3 IADDRESS
User’s manual NAVIGON Integration Kit 4.0
Survey
Exposed functionality Access to the address and POI data of the map which is
Typical use
Methods
The IADDRESS programming interface is designed to retrieve town, street, and POI data from the cartographic data of the map which is currently loaded. You may as well retrieve geographic coordinates for routing or navigation purposes.
currently loaded
Query for towns, streets and POI (e.g. all petrol stations in a
specific town)
Retrieval of the geographic coordinates of an address or of a
POI
Retrieval of addresses belonging to given geographic
coordinates
Notice: The format of geographic coordinates is always WGS-84.
OpenAddress();
// More IADDRESS methods
CloseAddress();
The IADDRESS interface defines the following methods:
OpenAddress() method), see page 20
CloseAdress() method, see page 20
SearchFirstCityAddress() method, see page 21
SearchFirstCityPostalCodeAddress() method, see page 22
SearchNextCityAddress() method, see page 23
SearchFirstStreetAddress() method, see page 25
SearchNextStreetAddress() method, see page 27
SearchPoiByRadiusAddress() method, see page 28
SearchNextPoiAddress() method, see page 30
ConvertCoordInAddress() method, see page 31
ConvertCoordInAddress2() method, see page 32
ConvertCoordInCountry() method, see page 33
Programming interfaces - 19 -
2.3.1 OpenAddress() method)
User’s manual NAVIGON Integration Kit 4.0
Description
The OpenAddress() method opens the IADDRESS interface.
C++ syntax
IADDRESS::OpenAddress
Type
HRESULT OpenAddress()
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.3.2 CloseAdress() method
Description
C++ syntax
Type
Return values The method returns one of the following values:
The CloseAddress() method closes the IADDRESS interface. You will have to open the interface again before calling more of its methods.
IADDRESS::CloseAddress
HRESULT CloseAddress()
Return value Signification
S_OK
S_FALSE
Done
Error
- 20 - IADDRESS
User’s manual NAVIGON Integration Kit 4.0
2.3.3 SearchFirstCityAddress() method
Description
The SearchFirstCityAddress() method retrieves the first entry from a list of towns which are in a specified country and have a given string in or at the beginning of their names. When you are searching for POI, you may also specify a category.
Use the SearchNextCityAddress() method to retrieve further entries from the list (see page 23).
C++ syntax
IADDRESS::SearchFirstCityAddress
Type
HRESULT SearchFirstCityAddress(
[in] int a_country,
[in] BSTR prefix,
[out] BSTR * city,
[out] BSTR * plz,
[out] long * a_id,
[out] BOOL * a_find,
[out] double * a_latx,
[out] double * a_longy )
Parameters The method takes the following parameters:
Parameter Signification
a_country
Specifies the country in which towns shall be looked for. Must be a member of the _CountryCode enumeration (e.g. cc_DEU for Germany or cc_FRA for France, see _CountryCode on page 166)
prefix
The string towns to be found must have in or at the beginning of their names.
city
Pointer to a BSTR variable which contains the name of the retrieved town.
plz
Pointer to a BSTR variable which contains the postcode of the retrieved town.
a_id
Pointer to a LONG variable which contains the ID of the retrieved town (town ID).
a_find Pointer to a BOOL variable which indicates
whether a town has been found: TRUE when a town has been retrieved, FALSE when no town matches both the a_country and the
prefix_postalcode search criteria.
a_latx
Pointer to a DOUBLE variable which contains the latitude of the retrieved town in WGS-84 format.
a_longy
Pointer to a DOUBLE variable which contains the longitude of the retrieved town in WGS­84 format.
Programming interfaces - 21 -
User’s manual NAVIGON Integration Kit 4.0
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Example
m_NIK_Address->OpenAddress();
/* Search for the first town */
m_NIK_Address->SearchFirstCityAddress( DEU, “Frankf“, &bstrCity, &bstrPlz, &nCityId, &bFoundMore, &dLatX, &dLongY);
m_NIK_Address->CloseAddress();
2.3.4 SearchFirstCityPostalCodeAddress() method
Description
The SearchFirstCityPostalCodeAddress() method retrieves the first entry from a list of towns which are in a specified country and have a given string at the beginning of their postcodes.
Use the SearchNextCityAddress() method to retrieve further entries from the list (see page 23).
C++ syntax
IADDRESS::SearchFirstCityPostalCodeAddress
Type
HRESULT SearchFirstCityPostalCodeAddress(
[in] int a_country,
[in] BSTR prefix_postalcode,
[out] BSTR * city,
[out] BSTR * postalcode,
[out] long * a_id,
[out] BOOL * a_find,
[out] double * a_latx,
[out] double * a_longy )
Parameters The method takes the following parameters:
Parameter Signification
a_country
Specifies the country in which towns shall be looked for. Must be a member of the _CountryCode enumeration (e.g. cc_DEU for Germany or cc_FRA for France, see _CountryCode page 166).
- 22 - IADDRESS
User’s manual NAVIGON Integration Kit 4.0
Parameter Signification
prefix_ postalcode
city
The string towns to be found must have at the beginning of their postcodes.
Pointer to a BSTR variable which contains the name of the retrieved town.
postalcode
Pointer to a BSTR variable which contains the postcode of the retrieved town.
a_id
Pointer to a LONG variable which contains the ID of the retrieved town (town ID).
a_find
Pointer to a BOOL variable which indicates whether a town has been found: TRUE when a town has been retrieved, FALSE when no town matches both the a_country and the
prefix_postalcode search criteria.
a_latx
Pointer to a DOUBLE variable which contains the latitude of the retrieved town in WGS-84 format.
a_longy
Pointer to a DOUBLE variable which contains the longitude of the retrieved town in WGS­84 format.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Notes
If the SearchFirstCityPostalCodeAddress() method has retrieved a town (a_find is TRUE), you may find all further towns that match the search criteria by calling the SearchNextCityAddress() method.
2.3.5 SearchNextCityAddress() method
Description
C++ syntax
Type
Programming interfaces - 23 -
The SearchNextCityAddress() method retrieves the next entry from a search result list which must have been created by calling the SearchFirstCityAddress() method or the
SearchFirstCityPostalCodeAddress() method.
IADDRESS::SearchNextCityAddress
HRESULT SearchNextCityAddress (
[out] BSTR * city,
[out] BSTR * plz,
[out] long * a_id,
[out] BOOL * a_find,
[out] double * a_latx,
[out] double * a_longy )
User’s manual NAVIGON Integration Kit 4.0
Parameters The method takes the following parameters:
Parameter Signification
city
Pointer to a BSTR variable which contains the name of the retrieved town.
plz
Pointer to a BSTR variable which contains the postcode of the retrieved town.
a_id
Pointer to a LONG variable which contains the ID of the retrieved town (town ID).
a_find Pointer to a BOOL variable which indicates
whether a town has been found: TRUE when a town has been retrieved, FALSE when the end of the list has been reached.
a_latx
Pointer to a DOUBLE variable which contains the latitude of the retrieved town in WGS-84 format.
a_longy
Pointer to a DOUBLE variable which contains the longitude of the retrieved town in WGS­84 format.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Example
m_NIK_Address->OpenAddress();
/* Search for the first town */
m_NIK_Address->SearchFirstCityAddress( DEU, “Frankf“, &bstrCity, &bstrPlz, &nCityId, &bFoundMore, &dLatX, &dLongY );
/* Search for all further towns */
while( bFoundMore )
m_NIK_Address->SearchNextCityAddress( &bstrCity, &bstrPlz, &nCityId, &bFoundMore, &dLatX, &dLongY );
m_NIK_Address->CloseAddress();
- 24 - IADDRESS
User’s manual NAVIGON Integration Kit 4.0
2.3.6 SearchFirstStreetAddress() method
Description
C++ syntax
Type
The SearchFirstStreetAddress() method retrieves the first entry from a list of streets or POI which are in a specified town and have a given string in or at the beginning of their names. When you are searching for POI, you may also specify a category.
Use the SearchNextStreetAddress() method to retrieve further entries from the list (see page 27).
IADDRESS:: SearchFirstStreetAddress
HRESULT SearchFirstStreetAddress (
[in] long id_city,
[in] BSTR prefix,
[in] int type_from,
[in] int type_to,
[in] BSTR hn,
[out] BSTR * street,
[out] BSTR * plz,
[out] long * a_id,
[out] BOOL * a_find,
[out] double * a_latx,
[out] double * a_longy )
Parameters The method takes the following parameters:
Parameter Signification
id_city
Specifies the ID of the town in which streets or POI shall be looked for (town ID).
prefix
The string streets or POI to be found must have in or at the beginning of their names.
type_from
When you are looking for POI, you may indicate categories which a retrieved POI shall be assigned to. type_from specifies the first category from the enumeration.
Should be enAllTypes when looking for streets.
type_to
Specifies the first category from the enumeration which does no more belong to the specified category list. Example: looking for petrol stations:
type_from = enPetrolStation
type_to = enRentACar
Should be enAllTypes when looking for streets.
hn
Specifies a house number to be searched for when searching for streets.
Programming interfaces - 25 -
User’s manual NAVIGON Integration Kit 4.0
Parameter Signification
street
Pointer to a BSTR variable which contains the name of the retrieved street.
plz
Pointer to a BSTR variable which contains the postcode of the retrieved street.
a_id
Pointer to a LONG variable which contains the ID of the retrieved street (street ID).
a_find
Pointer to a BOOL variable which indicates whether a street or POI has been found: TRUE when a street or POI has been retrieved, FALSE when no street or POI matches the search criteria.
a_latx
Pointer to a DOUBLE variable which contains the latitude of the retrieved street or POI in WGS-84 format.
a_longy
Pointer to a DOUBLE variable which contains the longitude of the retrieved street or POI in WGS-84 format.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Example
m_NIK_Address->OpenAddress();
/* search for the first street in nCityId */
m_NIK_Address->SearchFirstStreetAddress( nCityId, “Bahn“,enAllTypes, enAllTypes, NULL, &bstrStreet, &bstrPlz, &nStreetId, &bFoundMore, &dLatX, &dLongY );
m_NIK_Address->CloseAddress();
- 26 - IADDRESS
User’s manual NAVIGON Integration Kit 4.0
2.3.7 SearchNextStreetAddress() method
Description
The SearchNextStreetAddress() method retrieves the next entry from a search result list which must have been created by calling the SearchFirstStreetAddress() method.
C++ syntax
IADDRESS::SearchNextStreetAddress
Type
HRESULT SearchNextStreetAddress (
[out] BSTR * street,
[out] BSTR * plz,
[out] long * a_id,
[out] BOOL * a_find,
[out] double * a_latx,
[out] double * a_longy )
Parameters The method takes the following parameters:
Parameter Signification
street
Pointer to a BSTR variable which contains the name of the retrieved street or the street name of the retrieved POI.
plz
Pointer to a BSTR variable which contains the postcode of the retrieved street or POI.
a_id
Pointer to a LONG variable which the ID of the retrieved street (street ID) or of the street of a retrieved POI.
a_find
Pointer to a BOOL variable which indicates whether a street or POI has been found: TRUE when a street or POI has been retrieved, FALSE when the end of the list has been reached.
a_latx
Pointer to a DOUBLE variable which contains the latitude of the retrieved street or POI in WGS-84 format.
a_longy
Pointer to a DOUBLE variable which contains the longitude of the retrieved street or POI in WGS-84 format.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Programming interfaces - 27 -
User’s manual NAVIGON Integration Kit 4.0
Example: Searching for streets
Example: Searching for POI
m_NIK_Address->OpenAddress();
/* search for the first street in nCityId */
m_NIK_Address->SearchFirstStreetAddress( nCityId, “Bahn“,enAllTypes, enAllTypes, NULL, &bstrStreet, &bstrPlz, &nStreetId, &bFoundMore, &dLatX, &dLongY );
/* search for further streets */
while( bFoundMore )
m_NIK_Address->SearchNextStreetAddress( &bstrStreet, &bstrPlz,&nStreetId,&bFoundMore, &dLatX, &dLongY );
m_NIK_Address->CloseAddress();
m_NIK_Address->OpenAddress();
/* search for the first petrol station in nCityId */
m_NIK_Address->SearchFirstStreetAddress( nCityId, ““, enPetrolStation, enPetrolStation+1, NULL,&bstrStreet, &bstrPlz, &nPoiId, &bFoundMore, &dLatX, &dLongY );
/* search for further petrol stations */
while( bFoundMore )
m_NIK_Address->SearchNextStreetAddress( &bstrStreet, &bstrPlz,&nPoiId,&bFoundMore, &dLatX, &dLongY );
m_NIK_Address->CloseAddress();
2.3.8 SearchPoiByRadiusAddress() method
Description
C++ syntax
Type
The SearchPoiByRadiusAddress() method retrieves the first entry from a list of POI which are to be found within a specified radius round a specified geographic point, which have a given string in or at the beginning of their names, and which belong to a given category.
Use the SearchNextPoiAddress() method to retrieve further entries from the list (see page 30).
IADDRESS::SearchPoiByRadiusAddress
HRESULT SearchPoiByRadiusAddress(
[in] BSTR prefix,
[in] double a_lat,
[in] double a_long,
[in] int a_radius,
[in] int type_from,
[in] int type_to,
[out] BOOL * a_find )
- 28 - IADDRESS
User’s manual NAVIGON Integration Kit 4.0
Parameters The method takes the following parameters:
Parameter Signification
prefix
The string that POI to be found must have in or at the beginning of their names.
a_lat
Specifies the latitude of a geographical point in WGS-84 format.
a_long
Specifies the longitude of a geographical point in WGS-84 format.
a_radius
Specifies the radius (in meters) round the geographical point in which POI are to be found.
type_from
Specifies the first category from an enumeration which a retrieved POI has to be assigned to.
type_to
Specifies the first category from the enumeration which does no more belong to the specified category list. Example: looking for petrol stations:
type_from = enPetrolStation type_to = enPetrolStation+1
a_find
Pointer to a BOOL variable which indicates whether a street or POI has been found within the specified circle: TRUE when a POI has been retrieved, FALSE when no POI matches the search criteria.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Programming interfaces - 29 -
User’s manual NAVIGON Integration Kit 4.0
2.3.9 SearchNextPoiAddress() method
Description
The SearchNextPoiAddress() method retrieves the next entry from a search result list which must have been created by calling the SearchPoiByRadiusAddress() method.
C++ syntax
IADDRESS::SearchNextPoiAddress
Type
HRESULT SearchNextPoiAddress (
[out] BSTR * poi_name,
[out] BSTR * postalcode,
[out] BSTR * city_name,
[out] long * a_id,
[out] BOOL * a_find,
[out] double * a_latx,
[out] double * a_longy )
Parameters The method takes the following parameters:
Parameter Signification
poi_name
Pointer to a BSTR variable which contains the name of the retrieved POI.
postalcode
Pointer to a BSTR variable which contains the postcode of the retrieved POI.
city_name
Pointer to a BSTR variable which contains the city of the retrieved POI.
a_id
Pointer to a LONG variable which contains the ID of the retrieved POI (POI ID).
a_find
Pointer to a BOOL variable which indicates whether a POI has been found: TRUE when a POI has been retrieved, FALSE when the end of the list has been reached.
a_latx
Pointer to a DOUBLE variable which contains the latitude of the retrieved POI in WGS-84 format.
a_longy
Pointer to a DOUBLE variable which contains the longitude of the retrieved POI in WGS-84 format.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Notes
Further POI may be retrieved as long as the a_find variable is TRUE.
- 30 - IADDRESS
User’s manual NAVIGON Integration Kit 4.0
2.3.10 ConvertCoordInAddress() method
Attention: Old method!
This method has been kept for compatibility reasons. Use the ConvertCoordInAddress2() for new projects as it returns, in addition to the parameters returned by this method, the country code and the house number (if retrievable).
Description
The ConvertCoordInAddress() method converts the given coordinates of a geographic point into a postal address.
C++ syntax
IADDRESS::ConvertCoordInAddress
Type
HRESULT ConvertCoordInAddress (
[in] double a_latx,
[in] double a_longy,
[out] BSTR * city,
[out] BSTR * street,
[out] BSTR * plz,
[out] BOOL * a_find )
Parameters The method takes the following parameters:
Parameter Signification
a_latx
The latitude of a geographic point in WGS-84 format.
a_longy
The longitude of a geographic point in WGS-84 format.
city
Pointer to a BSTR variable which contains the name of the town of the geographic point.
street
Pointer to a BSTR variable which contains the name of the street of the geographic point.
plz
Pointer to a BSTR variable which contains the postcode of the geographic point.
a_find
Pointer to a BOOL variable which indicates whether the conversion was successful: TRUE when an address has been retrieved, FALSE if not.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Example
m_NIK_Address->OpenAddress();
/* Conversion of a geographical pt into an Address */
m_NIK_Address->ConvertCoordInAddress( dLatX, dLongY, &bstrCity, &bstrStreet, &bstrPlz,&bFound );
m_NIK_Address->CloseAddress();
Programming interfaces - 31 -
User’s manual NAVIGON Integration Kit 4.0
2.3.11 ConvertCoordInAddress2() method
Description
The ConvertCoordInAddress2() method converts the given coordinates of a geographic point into a postal address.
C++ syntax
IADDRESS::ConvertCoordInAddress2
Type
HRESULT ConvertCoordInAddress2 (
[in] double a_latx,
[in] double a_longy,
[out] int * a_country,
[out] BSTR * city,
[out] BSTR * street,
[out] BSTR * plz,
[out] BSTR * hn,
[out] BOOL * a_find )
Parameters The method takes the following parameters:
Parameter Signification
a_latx
The latitude of a geographic point in WGS-84 format.
a_longy
The longitude of a geographic point in WGS-84 format.
a_country
Pointer to an INT variable which contains the country code of the geographic point. Is a member of the _CountryCode enumeration (e.g. cc_DEU for Germany or cc_FRA for France, see _CountryCode page 166).
city
Pointer to a BSTR variable which contains the name of the town of the geographic point.
street
Pointer to a BSTR variable which contains the name of the street of the geographic point.
plz
Pointer to a BSTR variable which contains the postcode of the geographic point.
hn
Pointer to a BSTR variable which contains the postcode of the geographic point (if retrievable).
a_find
Pointer to a BOOL variable which indicates whether the conversion was successful: TRUE when an address has been retrieved, FALSE if not.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
- 32 - IADDRESS
User’s manual NAVIGON Integration Kit 4.0
2.3.12 ConvertCoordInCountry() method
Description
The ConvertCoordInCountry() method retrieves the country code of the country a specified geographic point belongs to.
C++ syntax
IADDRESS::ConvertCoordInCountry
Type
HRESULT ConvertCoordInCountry (
[in] double a_latx,
[in] double a_longy,
[out] int * a_country,
[out] BOOL * a_find )
Parameters The method takes the following parameters:
Parameter Signification
a_latx
The latitude of a geographic point in WGS-84 format.
a_longy
The longitude of a geographic point in WGS-84 format.
a_country
Pointer to an INT variable which contains the country code of the geographic point. Is a member of the _CountryCode enumeration (e.g. cc_DEU for Germany or cc_FRA for France, see _CountryCode page 166).
a_find
Pointer to a BOOL variable which indicates whether a country has been identified: TRUE when a country has been retrieved, FALSE if not.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Programming interfaces - 33 -
2.4 IROUTING
User’s manual NAVIGON Integration Kit 4.0
Survey
Exposed functionality Calculation of routes between two or more route points (a
Typical use
Methods
The IROUTING programming interface is designed to calculate and to display routes.
start point, a destination point, and an unlimited number of stage points)
Retrieval of the distance between route points.
Calculation of the estimated duration of the travel
Display of the route on the map
Notice: The format of geographic coordinates is always WGS-84.
OpenRoute( hWnd, x, y, width, height );
ClearDestCoordRoute();
AddDestCoordRoute( cSize, a_lat, a_long );
StartRoute();
// More methods of IROUTING
CloseRoute();
The IROUTING interface defines the following methods:
OpenRoute() method, see page 35
CloseRoute() method, see page 36
AddDestCoordRoute() method, see page 36
GetDestCoordRoute() method, see page 37
ClearDestCoordRoute() method, see page 38
StartRoute() method, see page 38
ShowRoute() method, see page 39
ClearRoute() method, see page 39
ZoomInRoute() method, see page 40
ZoomOutRoute() method, see page 40
ShowDownRoute() method, see page 40
ShowUpRoute() method, see page 41
ShowLeftRoute() method, see page 41
ShowRightRoute() method, see page 41
ShowStartPointRoute() method, see page 42
ShowEndPointRoute() method, see page 42
SetRotationRoute() method, see page 43
GetRotationRoute() method, see page 43
GetStatusRoute() method, see page 44
GetResultRoute() method, see page 44
- 34 - IROUTING
MapShowRoute() method, see page 45
GetFirstWayListRoute() method, see page 45
GetNextWayListRoute() method, see page 46
SetZoomLevelInRoute() method, see page 47
GetZoomLevelInRoute() method, see page 48
SetMaxResolutionRoute() method, see page 48
GetMaxResolutionRoute() method, see page 49
ChangeGeoToMapCoordRoute() method, see page 49
ChangeMapToGeoCoordRoute() method, see page 50
2.4.1 OpenRoute() method
User’s manual NAVIGON Integration Kit 4.0
Description
The OpenRoute() method opens the IROUTING interface. It also initialises a window for displaying the map.
C++ syntax
IROUTING::OpenRoute
Type
HRESULT OpenRouteOpenRoute(
[in] long a_hwnd,
[in] int a_ox,
[in] int a_oy,
[in] int a_wx,
[in] int a_wy )
Parameters The method takes the following parameters:
Parameter Signification
a_hwnd
Windows handle of the parent window in which the map shall be displayed.
a_ox
The X-coordinate of the map window, related to the parent window.
a_oy
The Y-coordinate of the map window, related to the parent window.
a_wx
a_wy
Width of the map window.
Height of the map window.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Notice: Call OpenRoute(hWnd, 0, 0, 0, 0) to enable route planning without displaying a map. Note that the windows handle must be valid.
Programming interfaces - 35 -
2.4.2 CloseRoute() method
User’s manual NAVIGON Integration Kit 4.0
Description
The CloseRoute() method closes the IROUTING interface and the map window. You will have to open the interface again before calling more of its methods.
C++ syntax
IROUTING::CloseRoute
Type
HRESULT CloseRoute();
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.4.3 AddDestCoordRoute() method
Description
C++ syntax
Type
The AddDestCoordRoute() method adds route points to a route. Route points must be given as coordinates in WGS-84 format. For route calculation purposes, you need two or more route points: a start point, a destination point, and an unlimited number of stage points.
IROUTING::AddDestCoordRoute
HRESULT AddDestCoordRoute(
[in] int cSize,
[in, size_is(cSize)] double * a_lat,
[in, size_is(cSize)] double * a_long )
Parameters The method takes the following parameters:
Parameter Signification
cSize
Specifies the number of route points that will be specified by this method call.
a_lat
Pointer to an array of DOUBLE values which contain latitudes in WGS-84 format.
a_long
Pointer to an array of DOUBLE values which contain longitudes in WGS-84 format.
- 36 - IROUTING
User’s manual NAVIGON Integration Kit 4.0
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Notes The navigation software must keep the coordinates in a separate
list, too. These coordinates will be added just before calling
StartRoute() (see StartRoute() method, page 38) by calling AddDestCoordRoute().
Attention: The number of coordinates in the a_lat and a_long arrays must be the same as indicated by the cSize parameter.
2.4.4 GetDestCoordRoute() method
Description
The GetDestCoordRoute() method retrieves the route point coordinates which have been added by the last call of AddDestCoordRoute().
C++ syntax
IROUTING::GetDestCoordRoute
Type
HRESULT GetDestCoordRoute(
[in] int cSize,
[out, size_is(cSize)] double * a_lat,
[out, size_is(cSize)] double * a_long )
Parameters The method takes the following parameters:
Parameter Signification
cSize
Specifies the number of route point coordinates to return. This number must not be higher than the number of route points that have been added by the last call of
AddDestCoordRoute().
a_lat
Pointer to an array of DOUBLE values which contain latitudes in WGS-84 format.
a_long
Pointer to an array of DOUBLE values which contain longitudes in WGS-84 format.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Programming interfaces - 37 -
User’s manual NAVIGON Integration Kit 4.0
2.4.5 ClearDestCoordRoute() method
Description
The ClearDestCoordRoute() method deletes the route point coordinates which have been added by the last call of AddDestCoordRoute().
C++ syntax
IROUTING::ClearDestCoordRoute
Type
HRESULT ClearDestCoordRoute()
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Notice: The ClearDestCoordRoute() should be called just before calling AddDestCoordRoute().
2.4.6 StartRoute() method
Description
The StartRoute() method (re)calculates the route using the route points that have been added by the last call of AddDestCoordRoute() and displays the route on the map.
C++ syntax
IROUTING::StartRoute
Type
HRESULT StartRoute()
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
- 38 - IROUTING
2.4.7 ShowRoute() method
User’s manual NAVIGON Integration Kit 4.0
Description
The ShowRoute() method displays the whole route which has been calculated by the last call of AddDestCoordRoute().
C++ syntax
IROUTING::ShowRoute
Type
HRESULT ShowRoute()
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Notice: The ShowRoute() method may be called just after having called StartRoute().
Example Display the route resulting from the prior calculation:
m_NIK_Routing->ShowRoute();
2.4.8 ClearRoute() method
Description
C++ syntax
Type
Return values The method returns one of the following values:
The ClearRoute() method clears the route resulting from the prior calculation and hides the map window.
IROUTING::ClearRoute
HRESULT ClearRoute()
Return value Signification
S_OK
S_FALSE
Done
Error
Programming interfaces - 39 -
2.4.9 ZoomInRoute() method
User’s manual NAVIGON Integration Kit 4.0
Description
The ZoomInRoute() method zooms into the map.
C++ syntax
IROUTING::ZoomInRoute
Type
HRESULT ZoomInRoute()
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.4.10 ZoomOutRoute() method
Description
C++ syntax
Type
Return values The method returns one of the following values:
The ZoomOutRoute() method zooms out of the map.
IROUTING::ZoomOutRoute
HRESULT ZoomOutRoute()
Return value Signification
S_OK
S_FALSE
Done
Error
2.4.11 ShowDownRoute() method
Description
C++ syntax
Type
Return values The method returns one of the following values:
- 40 - IROUTING
The ShowDownRoute() method scrolls the map down.
IROUTING::ShowDownRoute
HRESULT ShowDownRoute()
Return value Signification
S_OK
S_FALSE
Done
Error
2.4.12 ShowUpRoute() method
User’s manual NAVIGON Integration Kit 4.0
Description
The ShowUpRoute() method scrolls the map up.
C++ syntax
IROUTING::ShowUpRoute
Type
HRESULT ShowUpRoute()
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.4.13 ShowLeftRoute() method
Description
C++ syntax
Type
Return values The method returns one of the following values:
The ShowLeftRoute() method scrolls the map to the left.
IROUTING::ShowLeftRoute
HRESULT ShowLeftRoute()
Return value Signification
S_OK
S_FALSE
Done
Error
2.4.14 ShowRightRoute() method
Description
C++ syntax
Type
Return values The method returns one of the following values:
Programming interfaces - 41 -
The ShowRightRoute() method scrolls the map to the right.
IROUTING::ShowRightRoute
HRESULT ShowRightRoute()
Return value Signification
S_OK
S_FALSE
Done
Error
User’s manual NAVIGON Integration Kit 4.0
2.4.15 ShowStartPointRoute() method
Description
The ShowStartPointRoute() method displays the start point on the map.
C++ syntax
IROUTING::ShowStartPointRoute
Type
HRESULT ShowStartPointRoute()
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.4.16 ShowEndPointRoute() method
Description
C++ syntax
Type
Return values The method returns one of the following values:
The ShowEndPointRoute() method displays the final destination point of a route on the map.
IROUTING::ShowEndPointRoute
HRESULT ShowEndPointRoute()
Return value Signification
S_OK
S_FALSE
Done
Error
- 42 - IROUTING
2.4.17 SetRotationRoute() method
User’s manual NAVIGON Integration Kit 4.0
Description
The SetRotationRoute() method sets the orientation of the map to "north oriented" or to "in driving direction".
C++ syntax
IROUTING::SetRotationRoute
Type
HRESULT SetRotationRoute([in] BOOL a_rotation)
Parameters The method takes the following parameter:
Parameter Signification
a_rotation
TRUE: north oriented FALSE: in driving direction
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Example Map orientation in driving direction
m_NIK_Routing->SetRotationRoute( FALSE );
2.4.18 GetRotationRoute() method
Description
C++ syntax
Type
Parameters The method takes the following parameter:
Return values The method returns one of the following values:
The GetRotationRoute() method retrieves the current orientation of the map.
IROUTING::GetRotationRoute
HRESULT GetRotationRoute([in] BOOL a_rotation)
Parameter Signification
a_rotation
TRUE: north oriented FALSE: in driving direction
Return value Signification
S_OK
S_FALSE
Done
Error
Programming interfaces - 43 -
2.4.19 GetStatusRoute() method
User’s manual NAVIGON Integration Kit 4.0
Description
The GetStatusRoute() method returns the status of route calculation (executed by the last call of StartRoute()).
C++ syntax
IROUTING::GetStatusRoute
Type
HRESULT GetStatusRoute([out] int * a_status)
Parameters The method takes the following parameter:
Parameter Signification
a_status
Pointer to an INT variable which contains the status of route calculation. Is a member of the RouteStatus enumeration (see page 172).
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.4.20 GetResultRoute() method
Description
The GetResultRoute() method retrieves the distance from the start point to the destination point of a route and the estimated duration of the travel.
C++ syntax
IROUTING::GetResultRoute
Type
HRESULT GetResultRoute(
[out] int * a_meter,
[out] int * a_sec )
Parameters The method takes the following parameters:
Parameter Signification
a_meter
Pointer to an INT variable which contains the distance between the start point and the destination point of a route in meters.
a_sec
Pointer to an INT variable which contains the estimated duration of the travel in seconds.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
- 44 - IROUTING
2.4.21 MapShowRoute() method
User’s manual NAVIGON Integration Kit 4.0
Description
The MapShowRoute() method shows or hides the map window.
C++ syntax
IROUTING::MapShowRoute
Type
HRESULT MapShowRoute([in] BOOL a_show)
Parameters The method takes the following parameter:
Parameter Signification
a_show
TRUE Shows the map FALSE Hides the map
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.4.22 GetFirstWayListRoute() method
Description
The GetFirstWayListRoute() method retrieves the first way point of the current route (A way point is a point where the driver has to execute a driving manoeuvre like, e.g., turning left). Retrieve all further way points by calling the GetNextWayListRoute() method.
C++ syntax
IROUTING::GetFirstWayListRoute
Type
HRESULT GetFirstWayListRoute(
[out] BSTR * a_FromStreet,
[out] BSTR * a_ToStreet,
[out] long * a_nMeterFrom,
[out] BSTR * a_AdviceDesc,
[out] int * a_dAction,
[out] BOOL * a_bFind )
Parameters The method takes the following parameters:
Parameter Signification
a_FromStreet
Pointer to a BSTR variable which contains the name of the street which leads to the way point.
a_ToStreet
Pointer to a BSTR variable which contains the name of the street to turn into.
a_nMeterFrom
Pointer to a LONG variable which contains the distance to the way point in meters.
Programming interfaces - 45 -
User’s manual NAVIGON Integration Kit 4.0
Parameter Signification
a_AdviceDesc
Pointer to a BSTR variable which contains the text (a description) of the voice instruction.
a_dAction
Pointer to an INT variable which contains the manoeuvre to be executed. Is a member of the _ManeuevreDesc enumeration (see page 169).
a_bFind
Pointer to a BOOL variable which indicates whether a way point has been retrieved.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Notes
When the GetFirstWayListRoute() has retrieved a way point (a_bFind is TRUE), you may retrieve all further way points by calling GetNextWayListRoute().
2.4.23 GetNextWayListRoute() method
Description
C++ syntax
Type
Parameters The method takes the following parameters:
The GetNextWayListRoute() method retrieves the next way point from the current way point list which must have been created by calling the GetFirstWayListRoute() method.
IROUTING::GetNextWayListRoute
HRESULT GetNextWayListRoute(
[out] BSTR * a_FromStreet,
[out] BSTR * a_ToStreet,
[out] long * a_nMeterFrom,
[out] BSTR * a_AdviceDesc,
[out] int * a_dAction,
[out] BOOL * a_bFind )
Parameter Signification
a_FromStreet
Pointer to a BSTR variable which contains the name of the street which leads to the way point.
a_ToStreet
Pointer to a BSTR variable which contains the name of the street to turn into.
- 46 - IROUTING
User’s manual NAVIGON Integration Kit 4.0
Parameter Signification
a_nMeterFrom
Pointer to a LONG variable which contains the distance to the way point in meters.
a_AdviceDesc
Pointer to a BSTR variable which contains the text (a description) of the voice instruction.
a_dAction
Pointer to an INT variable which contains the manoeuvre to be executed. Is a member of the _ManeuevreDesc enumeration (see page 169).
a_bFind
Pointer to a BOOL variable which indicates whether a way point has been retrieved.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Notes
You may retrieve further way points as long as the a_bFind variable is TRUE.
2.4.24 SetZoomLevelInRoute() method
Description
C++ syntax
Type
Parameters The method takes the following parameter:
Return values The method returns one of the following values:
The SetZoomLevelInRoute() method sets the zoom level of the displayed map.
IROUTING::SetZoomLevelInRoute
HRESULT SetZoomLevelInRoute([in] double a_level)
Parameter Signification
a_level
Specifies the zoom level of the displayed map in meters per pixel.
Return value Signification
S_OK
S_FALSE
Done
Error
Programming interfaces - 47 -
User’s manual NAVIGON Integration Kit 4.0
2.4.25 GetZoomLevelInRoute() method
Description
The GetZoomLevelInRoute() method retrieves the current zoom level of the displayed map.
C++ syntax
IROUTING::GetZoomLevelInRoute
Type
HRESULT GetZoomLevelInRoute([in] double a_level)
Parameters The method takes the following parameter:
Parameter Signification
a_level
Pointer to a DOUBLE variable which contains the current zoom level of the displayed map in meters per pixel.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.4.26 SetMaxResolutionRoute() method
Description
C++ syntax
Type
Parameters The method takes the following parameter:
Return values The method returns one of the following values:
The SetMaxResolutionRoute() method sets the maximum resolution of the map (in pixels per meter).
IROUTING::SetMaxResolutionRoute
HRESULT SetMaxResolutionRoute([in] double a_maxres)
Parameter Signification
a_level
Specifies the maximum resolution of the map (in pixels per meter).
Return value Signification
S_OK
S_FALSE
Done
Error
- 48 - IROUTING
User’s manual NAVIGON Integration Kit 4.0
2.4.27 GetMaxResolutionRoute() method
Description
The GetMaxResolutionRoute() method retrieves the maximum resolution of the map (in pixels per meter).
C++ syntax
IROUTING::GetMaxResolutionRoute
Type
HRESULT GetMaxResolutionRoute([in] double a_maxres)
Parameters The method takes the following parameter:
Parameter Signification
a_level
Pointer to a DOUBLE variable which contains the maximum resolution of the map (in pixels per meter).
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.4.28 ChangeGeoToMapCoordRoute() method
Description
C++ syntax
Type
Parameters The method takes the following parameters:
The ChangeGeoToMapCoordRoute() method converts the given geographic coordinates of a point into window coordinates.
IROUTING::ChangeGeoToMapCoordRoute
HRESULT ChangeGeoToMapCoordRoute(
[in] double a_lat,
[in] double a_long,
[out] int * a_x,
[out] int * a_y )
Parameter Signification
a_lat
Specifies the latitude of the point in WGS-84 format.
a_long
Specifies the longitude of the point in WGS-84 format.
a_x
Pointer to an INT variable which contains the X-coordinate of the point in the map window.
a_y
Pointer to an INT variable which contains the Y-coordinate of the point in the map window.
Programming interfaces - 49 -
User’s manual NAVIGON Integration Kit 4.0
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.4.29 ChangeMapToGeoCoordRoute() method
Description
The ChangeMapToGeoCoordRoute() method converts the given window coordinates of a point into geographic coordinates.
C++ syntax
IROUTING::ChangeMapToGeoCoordRoute
Type
HRESULT ChangeMapToGeoCoordRoute(
[in] int a_x,
[in] int a_y,
[out] double * a_lat,
[out] double * a_long )
Parameters The method takes the following parameters:
Parameter Signification
a_x
Specifies the X-coordinate of the point in the map window.
a_y
Specifies the Y-coordinate of the point in the map window.
a_lat
Pointer to a DOUBLE variable which contains the latitude of the point in WGS-84 format.
a_long
Pointer to a DOUBLE variable which contains the longitude of the point in WGS-84 format.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
- 50 - IROUTING
2.4.30 Example for route calculation
/* Get distance and estimated duration of the route */
User’s manual NAVIGON Integration Kit 4.0
Route calculation
m_NIK_Routing->OpenRoute( (long)hWnd, 0, 0, 300, 200 );
/* Add route points */
m_NIK_Routing->AddDestCoordRoute( nArrSize, arrLat, arrLong );
/* Start route calculation */
m_NIK_Routing->StartRoute();
/* Get the status of route calculation */
m_NIK_Routing->GetStatusRoute( &nStatus );
m_NIK_Routing->GetResultRoute( &nMeter, &nSec );
m_NIK_Routing->CloseRoute();
Programming interfaces - 51 -
2.5 IPOSITION
User’s manual NAVIGON Integration Kit 4.0
Survey
Exposed functionality Display of the current position on the map
Typical use
Methods
OpenPosition() method, see page 53
The IPOSITION programming interface is designed to display the current GPS position on the map.
Retrieval of the coordinates of the current position
Notice: Only available on the reception of sufficient GPS signals. The format of geographic coordinates is always WGS-84.
OpenPosition( hWnd, x, y, width, height );
StartPosition();
// More methods of IPOSITION
ClosePosition();
The IPOSITION interface defines the following methods:
ClosePosition() method, see page 54
StartPosition() method, see page 54
GetPosition() method, see page 55
ZoomInPosition() method, see page 55
ZoomOutPosition() method, see page 56
ShowDownPosition() method, see page 56
ShowUpPosition() method, see page 56
ShowLeftPosition() method, see page 57
ShowRightPosition() method, see page 57
SetRotationPosition() method, see page 57
GetRotationPosition() method, see page 58
MapShowPosition() method, see page 59
SetBirdViewPosition() method, see page 59
SetZoomLevelInPosition() method, see page 60
GetZoomLevelInPosition() method, see page 60
SetMaxResolutionPosition() method, see page 61
GetMaxResolutionPosition() method, see page 61
ChangeGeoToMapCoordPosition() method, see page 62
ChangeMapToGeoCoordPosition() method, see page 62
- 52 - IPOSITION
2.5.1 OpenPosition() method
User’s manual NAVIGON Integration Kit 4.0
Description
The OpenPosition() method opens the IPOSITION interface. It also initialises a window for displaying the map.
C++ syntax
IPOSITION::OpenPosition
Type
HRESULT OpenPosition(
[in] long a_hwnd,
[in] int a_ox,
[in] int a_oy,
[in] int a_wx,
[in] int a_wy )
Parameters The method takes the following parameters:
Parameter Signification
a_hwnd
Windows handle of the parent window in which the map shall be displayed.
a_ox
The X-coordinate of the map window, related to the parent window.
a_oy
The Y-coordinate of the map window, related to the parent window.
a_wx
a_wy
Width of the map window.
Height of the map window.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Notice: Call OpenPosition(hWnd, 0, 0, 0, 0) to enable determination of the current position without displaying it on the map. Note that the windows handle must be valid.
Programming interfaces - 53 -
2.5.2 ClosePosition() method
User’s manual NAVIGON Integration Kit 4.0
Description
The ClosePosition() method closes the IPOSITION interface and the map window. You will have to open the interface again before calling more of its methods.
C++ syntax
IPOSITION::ClosePosition
Type
HRESULT ClosePosition()
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.5.3 StartPosition() method
Description
C++ syntax
Type
Return values The method returns one of the following values:
The StartPosition() method shows the current GPS position on the map. It must be called just after the OpenPosition() method.
IPOSITION::StartPosition
HRESULT StartPosition()
Return value Signification
S_OK
S_FALSE
Done
Error
- 54 - IPOSITION
2.5.4 GetPosition() method
User’s manual NAVIGON Integration Kit 4.0
Description
The GetPosition() method retrieves the current GPS position.
C++ syntax
IPOSITION::GetPosition
Type
HRESULT GetPosition(
[out] double * a_lat,
[out] double * a_long )
Parameters The method takes the following parameters:
Parameter Signification
a_lat
Pointer to a DOUBLE variable which contains the latitude of the current position in WGS-84 format.
a_long
Pointer to a DOUBLE variable which contains the longitude of the current position in WGS-84 format.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Example Determine the current position ("matched") and display it on the
map:
m_NIK_Position->GetPosition( &dLatX, &dLongY );
Notice: You may as well determine the current position by calling the GPSMessageCallback() method of the IMNNIKEvents interface which retrieves received positional data according to the NMEA protocol.
2.5.5 ZoomInPosition() method
Description
C++ syntax
Type
Return values The method returns one of the following values:
The ZoomInPosition() method zooms into the map which shows the current position.
IPOSITION::ZoomInPosition
HRESULT ZoomInPosition()
Return value Signification
S_OK
S_FALSE
Done
Error
Programming interfaces - 55 -
2.5.6 ZoomOutPosition() method
User’s manual NAVIGON Integration Kit 4.0
Description
The ZoomOutPosition() method zooms out of the map.
C++ syntax
IPOSITION::ZoomOutPosition
Type
HRESULT ZoomOutPosition()
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.5.7 ShowDownPosition() method
Description
C++ syntax
Type
Return values The method returns one of the following values:
The ShowDownPosition() method scrolls the map down.
IPOSITION::ShowDownPosition
HRESULT ShowDownPosition()
Return value Signification
S_OK
S_FALSE
Done
Error
2.5.8 ShowUpPosition() method
Description
C++ syntax
Type
Return values The method returns one of the following values:
- 56 - IPOSITION
The ShowUpPosition() method scrolls the map up.
IPOSITION::ShowUpPosition
HRESULT ShowUpPosition()
Return value Signification
S_OK
S_FALSE
Done
Error
2.5.9 ShowLeftPosition() method
User’s manual NAVIGON Integration Kit 4.0
Description
The ShowLeftPosition() method scrolls the map to the left.
C++ syntax
IPOSITION::ShowLeftPosition
Type
HRESULT ShowLeftPosition()
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.5.10 ShowRightPosition() method
Description
C++ syntax
Type
Return values The method returns one of the following values:
The ShowRightPosition() method scrolls the map to the right.
IPOSITION::ShowRightPosition
HRESULT ShowRightPosition()
Return value Signification
S_OK
S_FALSE
Done
Error
2.5.11 SetRotationPosition() method
Description
C++ syntax
Type
Parameters The method takes the following parameter:
Return values The method returns one of the following values:
Programming interfaces - 57 -
The SetRotationPosition() method sets the orientation of the map to "north oriented" or to "in driving direction".
IROUTING::SetRotationPosition
HRESULT SetRotationPosition([in] BOOL a_rotation)
Parameter Signification
a_rotation
TRUE: in driving direction FALSE: north oriented
Return value Signification
S_OK
S_FALSE
Done
Error
2.5.12 GetRotationPosition() method
User’s manual NAVIGON Integration Kit 4.0
Description
The GetRotationPosition() method retrieves the current orientation of the map.
C++ syntax
IROUTING::GetRotationPosition
Type
HRESULT GetRotationPosition([out] BOOL * a_rotation)
Parameters The method takes the following parameter:
Parameter Signification
a_rotation
TRUE: in driving direction FALSE: north oriented
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Example Display the current position on the map:
m_NIK_Position->OpenPosition((long)hWnd,0,0,300,200 );
/* Display the current position on the map */
m_NIK_Position->StartPosition();
m_NIK_Position ->ClosePosition();
- 58 - IPOSITION
2.5.13 MapShowPosition() method
User’s manual NAVIGON Integration Kit 4.0
Description
The MapShowPosition() method shows or hides the map window.
C++ syntax
IROUTING::MapShowPosition
Type
HRESULT MapShowPosition([in] BOOL a_show)
Parameters The method takes the following parameter:
Parameter Signification
a_show
TRUE Shows the map FALSE Hides the map
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.5.14 SetBirdViewPosition() method
Description
The SetBirdViewPosition() method enables 3D-view or 2D­view of the map.
C++ syntax
IROUTING::SetBirdViewPosition
Type
HRESULT SetBirdViewPosition([in] BOOL a_birdview)
Parameters The method takes the following parameter:
Parameter Signification
a_birdview
TRUE 3D-view of the map FALSE 2D-view of the map
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Programming interfaces - 59 -
User’s manual NAVIGON Integration Kit 4.0
2.5.15 SetZoomLevelInPosition() method
Description
The SetZoomLevelInPosition() method sets the zoom level of the displayed map.
C++ syntax
IPOSITION::SetZoomLevelInPosition
Type
HRESULT SetZoomLevelInPosition([in] double a_level)
Parameters The method takes the following parameter:
Parameter Signification
a_level
Specifies the zoom level of the displayed map in meters per pixel.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.5.16 GetZoomLevelInPosition() method
Description
The GetZoomLevelInPosition() method retrieves the current zoom level of the displayed map.
C++ syntax
IPOSITION::GetZoomLevelInPosition
Type
HRESULT GetZoomLevelInPosition([in] double a_level)
Parameters The method takes the following parameter:
Parameter Signification
a_level
Pointer to a DOUBLE variable which contains the current zoom level of the displayed map in meters per pixel.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
- 60 - IPOSITION
User’s manual NAVIGON Integration Kit 4.0
a_maxres )
2.5.17 SetMaxResolutionPosition() method
Description
The SetMaxResolutionPosition() method sets the maximum resolution of the map (in pixels per meter).
C++ syntax
IPOSITION::SetMaxResolutionPosition
Type
HRESULT SetMaxResolutionPosition([in] double a_maxres)
Parameters The method takes the following parameter:
Parameter Signification
a_level
Specifies the maximum resolution of the map (in pixels per meter).
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.5.18 GetMaxResolutionPosition() method
Description
The GetMaxResolutionPosition() method retrieves the maximum resolution of the map (in pixels per meter).
C++ syntax
IPOSITION::GetMaxResolutionPosition
Type
HRESULT GetMaxResolutionPosition([in] double
Parameters The method takes the following parameter:
Parameter Signification
a_level
Pointer to a DOUBLE variable which contains the maximum resolution of the map (in pixels per meter).
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Programming interfaces - 61 -
User’s manual NAVIGON Integration Kit 4.0
2.5.19 ChangeGeoToMapCoordPosition() method
Description
The ChangeGeoToMapCoordPosition() method converts the given geographic coordinates of a point into window coordinates.
C++ syntax
IPOSITION::ChangeGeoToMapCoordPosition
Type
HRESULT ChangeGeoToMapCoordPosition(
[in] double a_lat,
[in] double a_long,
[out] int * a_x,
[out] int * a_y )
Parameters The method takes the following parameters:
Parameter Signification
a_lat
Specifies the latitude of the point in WGS-84 format.
a_long
Specifies the longitude of the point in WGS-84 format.
a_x
Pointer to an INT variable which contains the X-coordinate of the point in the map window.
a_y
Pointer to an INT variable which contains the Y-coordinate of the point in the map window.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.5.20 ChangeMapToGeoCoordPosition() method
Description
C++ syntax
Type
- 62 - IPOSITION
The ChangeMapToGeoCoordPosition() method converts the given window coordinates of a point into geographic coordinates.
IPOSITION::ChangeMapToGeoCoordPosition
HRESULT ChangeMapToGeoCoordPosition(
[in] int a_x,
[in] int a_y,
[out] double * a_lat,
[out] double * a_long )
User’s manual NAVIGON Integration Kit 4.0
Parameters The method takes the following parameters:
Parameter Signification
a_x
Specifies the X-coordinate of the point in the map window.
a_y
Specifies the Y-coordinate of the point in the map window.
a_lat
Pointer to a DOUBLE variable which contains the latitude of the point in WGS-84 format.
a_long
Pointer to a DOUBLE variable which contains the longitude of the point in WGS-84 format.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Programming interfaces - 63 -
2.6 INAVIGATION
User’s manual NAVIGON Integration Kit 4.0
Survey
Exposed functionality Route calculation and navigation from the current position to
Typical use
The INAVIGATION programming interface is designed to enable navigation from the current position to a destination point.
a destination point which is covered by the currently loaded map
Retrieval of the distance to the destination point
Retrieval of the estimated duration of the travel to the
destination point
Display of the route on the map
Display of the current position on the map
Display of the schematic intersection view (with arrows
indicating the direction to follow)
Display of a distance bar (distance to the next way point, e.g.
turning manoeuvres)
Notice: The route may change due to TMC broadcasts while you are travelling. The format of geographic coordinates is always WGS-84.
OpenNavigation( hWnd, x, y, width, height );
SetDestCoordNavigation( a_lat, a_long );
// Optionally: set track coordinates
SetDestTrackNavigation( a_size, a_latArr, a_longArr );
StartNavigation();
// More methods of INAVIGATION
CloseNavigation();
- 64 - INAVIGATION
User’s manual NAVIGON Integration Kit 4.0
Methods
The INAVIGATION interface defines the following methods:
OpenNavigation() method, see page 66
CloseNavigation() method, see page 67
SetDestIdNavigation() method, see page 67
GetDestIdNavigation() method, see page 68
SetDestCoordNavigation() method, see page 68
GetDestCoordNavigation() method, see page 69
SetDestTrackNavigation() method, see page 70
StartNavigation() method, see page 71
ShowRouteNavigation() method, see page 71
RepeatLastAdviceNavigation() method, see page 72
ZoomInNavigation() method, see page 72
ZoomOutNavigation() method, see page 72
ShowDownNavigation() method, see page 73
ShowUpNavigation() method, see page 73
ShowLeftNavigation() method, see page 73
ShowRightNavigation() method, see page 74
ShowStartPointNavigation() method, see page 74
ShowEndPointNavigation() method, see page 74
SetRotationNavigation() method, see page 75
GetRotationNavigation() method, see page 75
GetStatusNavigation() method, see page 76
GetRoutingResultNavigation() method, see page 76
ShematicViewOpenNavigation() method, see page 77
ShematicViewShowNavigation() method, see page 78
DistanceBarOpenNavigation() method, see page 79
DistanceBarShowNavigation() method, see page 80
MapShowNavigation() method, see page 80
SetBirdViewNavigation() method, see page 81
GetFirstWayListNavigation() method, see page 81
GetNextWayListNavigation() method, see page 82
SetZoomLevelInNavigation() method, see page 83
GetZoomLevelInNavigation() method, see page 84
SetMaxResolutionNavigation() method, see page 84
GetMaxResolutionNavigation() method, see page 85
ChangeGeoToMapCoordNavigation() method, see page 85
ChangeMapToGeoCoordLocationMap() method, see page 86
Programming interfaces - 65 -
2.6.1 OpenNavigation() method
User’s manual NAVIGON Integration Kit 4.0
Description
The OpenNavigation() method initialises navigation. It also initialises a window for displaying the map.
C++ syntax
INAVIGATION::OpenNavigation
Type
HRESULT OpenNavigation(
[in] long a_hwnd,
[in] int a_ox,
[in] int a_oy,
[in] int a_wx,
[in] int a_wy )
Parameters The method takes the following parameters:
Parameter Signification
a_hwnd
Windows handle of the parent window in which the map shall be displayed.
a_ox
The X-coordinate of the map window, related to the parent window.
a_oy
The Y-coordinate of the map window, related to the parent window.
a_wx
a_wy
Width of the map window.
Height of the map window.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Notice: Call OpenNavigation (hWnd, 0, 0, 0, 0) to enable navigation without displaying a map. Note that the windows handle must be valid.
- 66 - INAVIGATION
2.6.2 CloseNavigation() method
User’s manual NAVIGON Integration Kit 4.0
Description
The CloseNavigation() method closes the INAVIGATION interface and the map window. You will have to open the interface again before calling more of its methods.
C++ syntax
INAVIGATION::CloseNavigation
Type
HRESULT CloseNavigation()
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.6.3 SetDestIdNavigation() method
Attention: Old method!
The SetDestIdNavigation() method is not supported by NIK 4.0 and higher.
Description
The SetDestIdNavigation() method takes a town ID, a street ID or a POI ID to specify the destination point for navigation purposes.
C++ syntax
INAVIGATION::SetDestIdNavigation
Type
HRESULT SetDestIdNavigation([in] long a_id )
Parameters The method takes the following parameter:
Parameter Signification
a_id
Specifies the object ID of the destination.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Notice: When you have reached your destination, the system prompts the “You have reached the destination” message.
See also SetDestCoordNavigation().
Programming interfaces - 67 -
User’s manual NAVIGON Integration Kit 4.0
2.6.4 GetDestIdNavigation() method
Attention: Old method!
The GetDestIdNavigation() method is not supported by NIK 4.0 and higher.
Description
The GetDestIdNavigation() method retrieves the ID of a destination which has been set by calling the SetDestIdNavigation() method.
C++ syntax
INAVIGATION::GetDestIdNavigation
Type
HRESULT GetDestIdNavigation([out] long * a_id)
Parameters The method takes the following parameter:
Parameter Signification
a_id
Pointer to a LONG variable which contains the ID of the destination.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.6.5 SetDestCoordNavigation() method
Description
The SetDestCoordNavigation() method specifies a destination for navigation purposes. The destination must be given as coordinates in WGS-84 format.
C++ syntax
INAVIGATION::SetDestCoordNavigation
Type
HRESULT SetDestCoordNavigation(
[in] double a_lat,
[in] double a_long )
Parameters The method takes the following parameters:
Parameter Signification
a_lat
Specifies the latitude of the destination in WGS-84 format.
a_long
Specifies the longitude of the destination in WGS-84 format.
- 68 - INAVIGATION
User’s manual NAVIGON Integration Kit 4.0
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Notice: When you have reached your destination, the system prompts the “You have reached the destination” message.
See also SetDestTrackNavigation() for navigation to a destination which is not covered by the road network of the currently loaded map.
2.6.6 GetDestCoordNavigation() method
Description
The GetDestCoordNavigation() method retrieves the geographic coordinates of a destination that has been set by calling the SetDestCoordNavigation() method.
C++ syntax
INAVIGATION::GetDestCoordNavigation
Type
HRESULT GetDestCoordNavigation(
[out] double * a_lat,
[out] double * a_long )
Parameters The method takes the following parameters:
Parameter Signification
a_lat
Pointer to a DOUBLE variable which contains the latitude of the destination in WGS-84 format.
a_long
Pointer to a DOUBLE variable which contains the longitude of the destination in WGS-84 format.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Programming interfaces - 69 -
User’s manual NAVIGON Integration Kit 4.0
2.6.7 SetDestTrackNavigation() method
Description
The SetDestTrackNavigation() method adds geographical points for a track which may be used for navigation outside the road network which is covered by the currently loaded map.
The first point is the start point of the track. Normally, this is the point where you leave the road network which is covered by the map.
The last point is the destination point outside the road network covered by the currently loaded map. Normally, this is the point you have specified by calling the SetDestCoordNavigation() method.
Notice: You must have specified the track points before starting navigation by calling the StartNavigation() method.
C++ syntax
INAVIGATION::SetDestTrackNavigation
Type
HRESULT SetDestTrackNavigation(
[in] int a_size,
[in, size_is(a_size)] double * a_lat,
[in, size_is(a_size)] double * a_long )
Parameters The method takes the following parameters:
Parameter Signification
a_size
Specifies the number of track points that will be specified by this method call (the number of coordinates in the a_lat and a_long arrays).
a_lat
Pointer to an array of DOUBLE values which contain latitudes in WGS-84 format.
a_long
Pointer to an array of DOUBLE values which contain longitudes in WGS-84 format.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Notice: The SetDestTrackNavigation() method is used instead of the SetDestCoordNavigation() method. Like this, it must have been called before starting navigation by calling StartNavigation().
- 70 - INAVIGATION
2.6.8 StartNavigation() method
User’s manual NAVIGON Integration Kit 4.0
Description
The StartNavigation() method starts navigation. This means that the destination and, if necessary, track points must have been specified before calling this method.
StartNavigation() calculates a route from the current position to the destination point and displays it, together with the current position, on the map.
C++ syntax
INAVIGATION::StartNavigation
Type
HRESULT StartNavigation()
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.6.9 ShowRouteNavigation() method
Description
C++ syntax
Type
Return values The method returns one of the following values:
The ShowRouteNavigation() method displays the whole current route on the map.
INAVIGATION::ShowRouteNavigation
HRESULT ShowRouteNavigation()
Return value Signification
S_OK
S_FALSE
Done
Error
Notice: Do not call this method before having called StartNavigation().
Programming interfaces - 71 -
User’s manual NAVIGON Integration Kit 4.0
2.6.10 RepeatLastAdviceNavigation() method
Description
The RepeatLastAdviceNavigation() method repeats the last voice instruction.
C++ syntax
INAVIGATION::RepeatLastAdviceNavigation
Type
HRESULT RepeatLastAdviceNavigation()
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.6.11 ZoomInNavigation() method
Description
C++ syntax
Type
Return values The method returns one of the following values:
The ZoomInNavigation() method zooms into the map.
INAVIGATION::ZoomInNavigation
HRESULT ZoomInNavigation()
Return value Signification
S_OK
S_FALSE
Done
Error
2.6.12 ZoomOutNavigation() method
Description
C++ syntax
Type
Return values The method returns one of the following values:
- 72 - INAVIGATION
The ZoomOutNavigation() method zooms out of the map.
INAVIGATION::ZoomOutNavigation
HRESULT ZoomOutNavigation()
Return value Signification
S_OK
S_FALSE
Done
Error
User’s manual NAVIGON Integration Kit 4.0
2.6.13 ShowDownNavigation() method
Description
The ShowDownNavigation() method scrolls the map down.
C++ syntax
INAVIGATION::ShowDownNavigation
Type
HRESULT ShowDownNavigation()
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.6.14 ShowUpNavigation() method
Description
C++ syntax
Type
Return values The method returns one of the following values:
The ShowUpNavigation() method scrolls the map up.
INAVIGATION::ShowUpNavigation
HRESULT ShowUpNavigation()
Return value Signification
S_OK
S_FALSE
Done
Error
2.6.15 ShowLeftNavigation() method
Description
C++ syntax
Type
Return values The method returns one of the following values:
Programming interfaces - 73 -
The ShowLeftNavigation() method scrolls the map to the left.
INAVIGATION::ShowLeftNavigation
HRESULT ShowLeftNavigation()
Return value Signification
S_OK
S_FALSE
Done
Error
User’s manual NAVIGON Integration Kit 4.0
2.6.16 ShowRightNavigation() method
Description
The ShowRightNavigation() method scrolls the map to the right.
C++ syntax
INAVIGATION::ShowRightNavigation
Type
HRESULT ShowRightNavigation()
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.6.17 ShowStartPointNavigation() method
Description
C++ syntax
Type
Return values The method returns one of the following values:
The ShowStartPointNavigation() method displays the start point on the map.
INAVIGATION::ShowStartPointNavigation
HRESULT ShowStartPointNavigation()
Return value Signification
S_OK
S_FALSE
Done
Error
2.6.18 ShowEndPointNavigation() method
Description
C++ syntax
Type
Return values The method returns one of the following values:
- 74 - INAVIGATION
The ShowEndPointNavigation() method displays the destination point on the map.
INAVIGATION::ShowEndPointNavigation
HRESULT ShowEndPointNavigation()
Return value Signification
S_OK
S_FALSE
Done
Error
User’s manual NAVIGON Integration Kit 4.0
2.6.19 SetRotationNavigation() method
Description
The SetRotationNavigation() method sets the orientation of the map to "north oriented" or to "in driving direction".
C++ syntax
INAVIGATION::SetRotationNavigation
Type
HRESULT SetRotationNavigation([in] BOOL a_rotation)
Parameters The method takes the following parameter:
Parameter Signification
a_rotation
TRUE: in driving direction FALSE: north oriented
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.6.20 GetRotationNavigation() method
Description
The GetRotationNavigation() method retrieves the current orientation of the map.
C++ syntax
INAVIGATION::GetRotationNavigation
Type
HRESULT GetRotationNavigation([out] BOOL * a_rotation)
Parameters The method takes the following parameter:
Parameter Signification
a_rotation
Pointer to a BOOL variable contains the current map orientation.
TRUE: in driving direction FALSE: north oriented
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Programming interfaces - 75 -
2.6.21 GetStatusNavigation() method
User’s manual NAVIGON Integration Kit 4.0
Description
The GetStatusNavigation() method returns the status of route calculation (executed by the last call of StartNavigation()).
C++ syntax
INAVIGATION::GetStatusNavigation
Type
HRESULT GetStatusNavigation([out] int * a_status)
Parameters The method takes the following parameters:
Parameter Signification
a_status
Pointer to an INT variable which contains the status of route calculation. Is a member of the RouteStatus enumeration (see RouteStatus page 172).
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.6.22 GetRoutingResultNavigation() method
Description
C++ syntax
Type
Parameters The method takes the following parameters:
Return values The method returns one of the following values:
The GetRoutingResultNavigation() method retrieves the distance from the start point to the destination and the estimated duration of the travel.
INAVIGATION::GetRoutingResultNavigation
HRESULT GetRoutingResultNavigation(
[out] int * a_meter,
[out] int * a_sec )
Parameter Signification
a_meter
Pointer to an INT variable which contains the distance between the start point and the destination in meters.
a_sec
Pointer to an INT variable which contains the estimated duration of the travel in seconds.
Return value Signification
S_OK
S_FALSE
Done
Error
- 76 - INAVIGATION
User’s manual NAVIGON Integration Kit 4.0
2.6.23 ShematicViewOpenNavigation() method
Description
C++ syntax
Type
The ShematicViewOpenNavigation() method initialises schematic intersection view. An arrow indicates the next manoeuvre to be executed.
INAVIGATION::ShematicViewOpenNavigation
HRESULT ShematicViewOpenNavigation(
[in] long a_hwnd,
[in] int a_ox,
[in] int a_oy,
[in] int a_wxy,
[in] int a_size )
Parameters The method takes the following parameters:
Parameter Signification
a_hwnd
Windows handle of the parent window in which the schematic intersection view shall be displayed.
a_ox
The X-coordinate of the schematic intersection view window, related to the parent window.
a_oy
The Y-coordinate of the schematic intersection view window, related to the parent window.
a_wxy
Height and width of the schematic intersection view window (it is always a square).
a_size
Character size for the schematic intersection view window.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Programming interfaces - 77 -
User’s manual NAVIGON Integration Kit 4.0
2.6.24 ShematicViewShowNavigation() method
Description
The ShematicViewShowNavigation() method shows or hides the schematic intersection view. It must be preceded by ShematicViewOpenNavigation().
C++ syntax
INAVIGATION::ShematicViewShowNavigation
Type
HRESULT ShematicViewShowNavigation([in] BOOL a_show)
Parameters The method takes the following parameter:
Parameter Signification
a_show
TRUE Shows the schematic intersection
view FALSE Hides the schematic intersection
view
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Example
m_NIK_Navigation->ShematicViewOpenNavigation( (long)hWnd, 0, 0, 200, 20 );
m_NIK_Navigation->ShematicViewShowNavigation( TRUE );
- 78 - INAVIGATION
User’s manual NAVIGON Integration Kit 4.0
2.6.25 DistanceBarOpenNavigation() method
Description
C++ syntax
Type
The DistanceBarOpenNavigation() method initialises the distance bar which may be displayed to indicate the distance to the next way point (to the next manoeuvre to be executed) in a graphical manner.
INAVIGATION::DistanceBarOpenNavigation
HRESULT DistanceBarOpenNavigation(
[in] long a_hwnd,
[in] int a_ox,
[in] int a_oy,
[in] int a_wx,
[in] int a_wy )
Parameters The method takes the following parameters:
Parameter Signification
a_hwnd
Windows handle of the parent window in which the distance bar shall be displayed.
a_ox
The X-coordinate of the distance bar, related to the parent window.
a_oy
The Y-coordinate of the distance bar, related to the parent window.
a_wx
a_wy
Width of the distance bar.
Height of the distance bar.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Programming interfaces - 79 -
User’s manual NAVIGON Integration Kit 4.0
2.6.26 DistanceBarShowNavigation() method
Description
The DistanceBarShowNavigation() method shows or hides the distance bar. It must be preceded by DistanceBarOpenNavigation().
C++ syntax
INAVIGATION::DistanceBarShowNavigation
Type
HRESULT DistanceBarShowNavigation([in] BOOL a_show )
Parameters The method takes the following parameter:
Parameter Signification
a_show
TRUE Shows the distance bar FALSE Hides the distance bar
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Example
m_NIK_Navigation->DistanceBarOpenNavigation( (long)hWnd, 0, 0, 100, 200 );
m_NIK_Navigation->DistanceBarShowNavigation( TRUE );
2.6.27 MapShowNavigation() method
Description
C++ syntax
Type
Parameters The method takes the following parameter:
Return values The method returns one of the following values:
The MapShowNavigation() method shows or hides the map window.
INAVIGATION:: MapShowNavigation
HRESULT MapShowNavigation([in] BOOL a_show )
Parameter Signification
a_show
TRUE Shows the map FALSE Hides the map
Return value Signification
S_OK
S_FALSE
Done
Error
- 80 - INAVIGATION
User’s manual NAVIGON Integration Kit 4.0
2.6.28 SetBirdViewNavigation() method
Description
The SetBirdViewNavigation() method enables 3D-view or 2D­view of the map.
C++ syntax
IROUTING::SetBirdViewNavigation
Type
HRESULT SetBirdViewNavigation([in] BOOL a_birdview)
Parameters The method takes the following parameter:
Parameter Signification
a_rotation
TRUE 3D-view of the map FALSE 2D-view of the map
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.6.29 GetFirstWayListNavigation() method
Description
The GetFirstWayListNavigation() method retrieves the first way point of the current route (A way point is a point where the driver has to execute a driving manoeuvre like, e.g., turning left). Retrieve all further way points by calling the GetNextWayListNavigation() method.
C++ syntax
IROUTING::GetFirstWayListNavigation
Type
HRESULT GetFirstWayListNavigation (
[out] BSTR * a_FromStreet,
[out] BSTR * a_ToStreet,
[out] long * a_nMeterFrom,
[out] BSTR * a_AdviceDesc,
[out] int * a_dAction,
[out] BOOL * a_bFind )
Parameters The method takes the following parameters:
Parameter Signification
a_FromStreet
Pointer to a BSTR variable which contains the name of the street which leads to the way point.
a_ToStreet
Pointer to a BSTR variable which contains the name of the street to turn into.
Programming interfaces - 81 -
User’s manual NAVIGON Integration Kit 4.0
Parameter Signification
a_nMeterFrom
Pointer to a LONG variable which contains the distance to the way point in meters.
a_AdviceDesc
Pointer to a BSTR variable which contains the text (a description) of the voice instruction.
a_dAction
Pointer to an INT variable which contains the manoeuvre to be executed. Is a member of the _ManeuevreDesc enumeration (see page 169).
a_bFind
Pointer to a BOOL variable which indicates whether a way point has been retrieved.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Notes
When the GetFirstWayListNavigation() has retrieved a way point (a_bFind is TRUE), you may retrieve all further way points by calling GetNextWayListNavigation().
2.6.30 GetNextWayListNavigation() method
Description
C++ syntax
Type
The GetNextWayListNavigation() method retrieves the next way point from the current way point list which must have been created by calling the GetFirstWayListNavigation() method.
IROUTING::GetNextWayListNavigation
HRESULT GetNextWayListNavigation (
[out] BSTR * a_FromStreet,
[out] BSTR * a_ToStreet,
[out] long * a_nMeterFrom,
[out] BSTR * a_AdviceDesc,
[out] int * a_dAction,
[out] BOOL * a_bFind )
- 82 - INAVIGATION
User’s manual NAVIGON Integration Kit 4.0
a_level)
Parameters The method takes the following parameters:
Parameter Signification
a_FromStreet
Pointer to a BSTR variable which contains the name of the street which leads to the way point.
a_ToStreet
Pointer to a BSTR variable which contains the name of the street to turn into.
a_nMeterFrom
Pointer to a LONG variable which contains the distance to the way point in meters.
a_AdviceDesc
Pointer to a BSTR variable which contains the text (a description) of the voice instruction.
a_dAction
Pointer to an INT variable which contains the manoeuvre to be executed. Is a member of the _ManeuevreDesc enumeration (see page 169).
a_bFind
Pointer to a BOOL variable which indicates whether a way point has been retrieved.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Notes
You may retrieve further way points as long as the a_bFind variable is TRUE.
2.6.31 SetZoomLevelInNavigation() method
Description
C++ syntax
Type
Parameters The method takes the following parameter:
Return values The method returns one of the following values:
The SetZoomLevelInNavigation() method sets the zoom level of the displayed map.
INAVIGATION::SetZoomLevelInNavigation
HRESULT SetZoomLevelInNavigation([in] double
Parameter Signification
a_level
Specifies the zoom level of the displayed map in meters per pixel.
Return value Signification
S_OK
S_FALSE
Done
Error
Programming interfaces - 83 -
User’s manual NAVIGON Integration Kit 4.0
a_level)
2.6.32 GetZoomLevelInNavigation() method
Description
The GetZoomLevelInNavigation() method retrieves the current zoom level of the displayed map.
C++ syntax
INAVIGATION::GetZoomLevelInNavigation
Type
HRESULT GetZoomLevelInNavigation([in] double
Parameters The method takes the following parameter:
Parameter Signification
a_level
Pointer to a DOUBLE variable which contains the current zoom level of the displayed map in meters per pixel.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.6.33 SetMaxResolutionNavigation() method
Description
C++ syntax
Type
Parameters The method takes the following parameter:
Return values The method returns one of the following values:
The SetMaxResolutionNavigation() method sets the maximum resolution of the map (in pixels per meter).
INAVIGATION::SetMaxResolutionNavigation
HRESULT SetMaxResolutionNavigation(
[in] double a_maxres )
Parameter Signification
a_level
Specifies the maximum resolution of the map (in pixels per meter).
Return value Signification
S_OK
S_FALSE
Done
Error
- 84 - INAVIGATION
User’s manual NAVIGON Integration Kit 4.0
2.6.34 GetMaxResolutionNavigation() method
Description
The GetMaxResolutionNavigation() method retrieves the maximum resolution of the map (in pixels per meter).
C++ syntax
IPOSITION::GetMaxResolutionNavigation
Type
HRESULT GetMaxResolutionNavigation(
[in] double a_maxres )
Parameters The method takes the following parameter:
Parameter Signification
a_level
Pointer to a DOUBLE variable which contains the maximum resolution of the map (in pixels per meter).
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.6.35 ChangeGeoToMapCoordNavigation() method
Description
C++ syntax
Type
Parameters The method takes the following parameters:
The ChangeGeoToMapCoordNavigation() method converts the given geographic coordinates of a point into window coordinates.
INAVIGATION::ChangeGeoToMapCoordNavigation
HRESULT ChangeGeoToMapCoordNavigation(
[in] double a_lat,
[in] double a_long,
[out] int * a_x,
[out] int * a_y )
Parameter Signification
a_lat
Specifies the latitude of the point in WGS-84 format.
a_long
Specifies the longitude of the point in WGS-84 format.
a_x
Pointer to an INT variable which contains the X-coordinate of the point in the map window.
a_y
Pointer to an INT variable which contains the Y-coordinate of the point in the map window.
Programming interfaces - 85 -
User’s manual NAVIGON Integration Kit 4.0
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.6.36 ChangeMapToGeoCoordLocationMap() method
Description
The ChangeMapToGeoCoordNavigation() method converts the given window coordinates of a point into geographic coordinates.
C++ syntax
INAVIGATION::ChangeMapToGeoCoordNavigation
Type
HRESULT ChangeMapToGeoCoordNavigation(
[in] int a_x,
[in] int a_y,
[out] double * a_lat,
[out] double * a_long )
Parameters The method takes the following parameters:
Parameter Signification
a_x
Specifies the X-coordinate of the point in the map window.
a_y
Specifies the Y-coordinate of the point in the map window.
a_lat
Pointer to a DOUBLE variable which contains the latitude of the point in WGS-84 format.
a_long
Pointer to a DOUBLE variable which contains the longitude of the point in WGS-84 format.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
- 86 - INAVIGATION
2.6.37 Examples
User’s manual NAVIGON Integration Kit 4.0
Route calculation and navigation
Specify the destination
m_NIK_Navigation->OpenNavigation( (long)hWnd, 0, 0, 300, 200 );
/* Specify the destination */
m_NIK_Navigation->SetDestCoordNavigation(dLat, dLong );
/* Start route calculation and navigation */
m_NIK_Navigation->StartNavigation();
/* Retrieve the status of route calculation */
m_NIK_Navigation->GetStatusNavigation( &nStatus );
/* Retrieve the distance and the estimated duration of the travel */
m_NIK_Navigation->GetRoutingResultNavigation ( &nMeter, &nSec );
m_NIK_Navigation->CloseNavigation();
/* Geographic point */
m_NIK_Navigation->SetDestCoordNavigation(dLatX,dLongY);
Display
/* ID */
m_NIK_Navigation->SetDestIdNavigation( nAreaId );
/* Retrieve the destination */
m_NIK_Navigation->GetDestCoordNavigation( &dLatX, &dLongY );
/* or */
m_NIK_Navigation->GetDestIdNavigation( &nAreaId );
/* Display the whole route */
m_NIK_Navigation->ShowRouteNavigation();
/* Start and destination points of the route */
m_NIK_Navigation->ShowStartPointNavigation();
m_NIK_Navigation->ShowEndPointNavigation();
Programming interfaces - 87 -
User’s manual NAVIGON Integration Kit 4.0
Map
Voice instruction
/* Scroll the map */
m_NIK_Navigation->ShowDownNavigation();
m_NIK_Navigation->ShowUpNavigation();
m_NIK_Navigation->ShowLeftNavigation();
m_NIK_Navigation->ShowRightNavigation();
/* Zoom */
m_NIK_Navigation->ZoomInNavigation();
m_NIK_Navigation->ZoomOutNavigation();
/* Orientate the map north up */
m_NIK_Navigation->SetRotationNavigation( FALSE );
m_NIK_Navigation->GetRotationNavigation( &bDir );
/* Repeat the last voice instruction */
m_NIK_Navigation->RepeatLastAdviceNavigation();
- 88 - INAVIGATION
2.7 IOPTIONS
User’s manual NAVIGON Integration Kit 4.0
Survey
Exposed functionality Configuration of route calculation
Typical use
Methods
The IOPTIONS interface is designed to set global parameters for
route calculation (IROUTING and INAVIGATION),
map representation (IROUTING, INAVIGATION, and
IPOSITION).
Configuration of map representation
Notice: There are get and set methods for each of the configuration items.
GetRoutingAlgorithmOptions ( &bDynamicRoute, &bQuickest, &bShortest );
/* Einstellungen für die Routenberechnung ändern */
SetRoutingAlgorithmOptions ( bDynamicRoute, bQuickest, bShortest );
GetRoutingAvoidTypeOptions ( &bHighWays, &bFerries, &bMaudStreets );
/* Einstellungen für Ausschluss von Verbindungswegen */
SetRoutingAvoidTypeOptions ( bHighWays, bFerries, bMaudStreets );
The IOPTIONS interface defines the following methods:
SetRoutingAlgorithmOptions() method, see page 90
SetRoutingAlgorithmOptions2() method, see page 91
GetRoutingAlgorithmOptions() method, see page 91
GetRoutingAlgorithmOptions2() method, see page 92
SetRoutingAvoidTypeOptions() method, see page 93
GetRoutingAvoidTypeOptions() method, see page 94
SetStyleMapOptions() method, see page 95
GetStyleMapOptions() method, see page 95
SetKeyboardMapModeOptions() method, see page 96
GetKeyboardMapModeOptions() method, see page 96
GetBasicMapFolderOptions() method, see page 97
SetBasicMapFolderOptions() method, see page 97
GetMapsNumberOptions() method, see page 98
GetMapsPathsOptions() method, see page 98
SetCurrentMapOptions() method, see page 99
GetCurrentMapOptions() method, see page 99
GetRadioMutingOptions() method, see page 100
SetRadioMutingOptions() method, see page 100
Programming interfaces - 89 -
User’s manual NAVIGON Integration Kit 4.0
GetLanguageCodeOptions() method, see page 101
SetLanguageCodeOptions() method, see page 101
GetDistUnitOptions() method, see page 102
SetDistUnitOptions() method, see page 102
SetLouderOptions() method, see page 103
SetQuieterOptions() method, see page 103
SetPoiMapFolderOptions() method, see page 104
OpenPoiMapsOptions() method, see page 104
OpenPoiMapsOptions() method, see page 104
2.7.1 SetRoutingAlgorithmOptions() method
Attention: Old method!
The SetRoutingAlgorithmOptions2() method offers enhanced configuration possibilities and should therefore be used in current and future projects.
Description
The SetRoutingAlgorithmOptions() method specifies the kind of route to be calculated. Exactly one of the following parameters must be TRUE.
C++ syntax
IOPTIONS:: SetRoutingAlgorithmOptions
Type
HRESULT SetRoutingAlgorithmOptions(
[in] BOOL bDynamicRoute,
[in] BOOL bQuickest,
[in] BOOL bShortest )
Parameters The method takes the following parameters:
Parameter Signification
bDynamicRoute
Specifies a dynamic route to be calculated (TRUE) or not (FALSE). A dynamic route is a quick route, but TMC broadcasts are permanently being considered (if received). The route may automatically be recalculated due to broadcasted traffic obstructions on the route which originally was calculated.
bQuickest
Specifies the quickest route to be calculated (TRUE) or not (FALSE).
bShortest
Specifies the shortest route to be calculated (TRUE) or not (FALSE).
Attention: Exactly one of these parameters must be TRUE.
- 90 - IOPTIONS
User’s manual NAVIGON Integration Kit 4.0
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.7.2 SetRoutingAlgorithmOptions2() method
Description
The SetRoutingAlgorithmOptions2() method specifies the kind of route to be calculated.
C++ syntax
IOPTIONS:: SetRoutingAlgorithmOptions2
Type
HRESULT SetRoutingAlgorithmOptions2 (
[in] int a_nRouteType )
Parameters The method takes the following parameter:
Parameter Signification
a_nRouteType
Specifies the kind of route to be calculated. Must be a member of the _RouteType enumeration (see page 171).
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.7.3 GetRoutingAlgorithmOptions() method
Attention: Old method!
Use this method to retrieve parameters that have been set by the SetRoutingAlgorithmOptions() method.
The SetRoutingAlgorithmOptions2() method offers enhanced configuration possibilities and should therefore be used in current and future projects.
Description
C++ syntax
Type
The GetRoutingAlgorithmOptions() method retrieves the current route calculation parameters which have been set by calling SetRoutingAlgorithmOptions().
IOPTIONS::GetRoutingAlgorithmOptions
HRESULT GetRoutingAlgorithmOptions(
[out] BOOL * bDynamicRoute,
[out] BOOL * bQuickest,
[out] BOOL * bShortest )
Programming interfaces - 91 -
User’s manual NAVIGON Integration Kit 4.0
Parameters The method takes the following parameters:
Parameter Signification
bDynamicRoute
Pointer to a BOOL variable which is TRUE if dynamic routes are to be calculated.
bQuickest
Pointer to a BOOL variable which is TRUE if quick routes are to be calculated.
bShortest
Pointer to a BOOL variable which is TRUE if short routes are to be calculated.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.7.4 GetRoutingAlgorithmOptions2() method
Description
The GetRoutingAlgorithmOptions2() method retrieves the current route calculation parameter which has been set by calling SetRoutingAlgorithmOptions2().
C++ syntax
IOPTIONS::GetRoutingAlgorithmOptions2
Type
HRESULT GetRoutingAlgorithmOptions2 (
[out] int * a_nRouteType )
Parameters The method takes the following parameter:
Parameter Signification
a_nRouteType
Pointer to an INT variable which contains the kind of route to be calculated. Is a member of the _RouteType enumeration (see page 171).
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
- 92 - IOPTIONS
User’s manual NAVIGON Integration Kit 4.0
2.7.5 SetRoutingAvoidTypeOptions() method
Description
The SetRoutingAvoidTypeOptions() method instructs the route calculation module to consider or, if reasonable, to avoid certain types of traffic facilities.
C++ syntax
IOPTIONS::SetRoutingAvoidTypeOptions
Type
HRESULT SetRoutingAvoidTypeOptions(
[in] BOOL bHighWays,
[in] BOOL bFerries,
[in] BOOL bMaudStreets )
Parameters The method takes the following parameters:
Parameter Signification
bHighWays
Specifies motorways to be considered (TRUE) or, if reasonable, to be avoided (FALSE) by the route calculation module.
bFerries
Specifies ferries to be considered (TRUE) or, if reasonable, to be avoided (FALSE) by the route calculation module.
bMaudStreets
Specifies toll roads to be considered (TRUE) or, if reasonable, to be avoided (FALSE) by the route calculation module.
Notice: Set as many of these parameters to TRUE as convenient.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Programming interfaces - 93 -
User’s manual NAVIGON Integration Kit 4.0
2.7.6 GetRoutingAvoidTypeOptions() method
Description
The GetRoutingAvoidTypeOptions() method retrieves which types of traffic facilities are currently being considered or, if reasonable, are being avoided by the route calculation module.
C++ syntax
IOPTIONS::GetRoutingAvoidTypeOptions
Type
HRESULT GetRoutingAvoidTypeOptions(
[out] BOOL * bHighWays,
[out] BOOL * bFerries,
[out] BOOL * bMaudStreets )
Parameters The method takes the following parameters:
Parameter Signification
bHighWays
Pointer to a BOOL variable which indicates motorways to be considered (TRUE) or, if reasonable, to be avoided (FALSE) by the route calculation module.
bFerries
Pointer to a BOOL variable which indicates ferries to be considered (TRUE) or, if reasonable, to be avoided (FALSE) by the route calculation module.
bMaudStreets
Pointer to a BOOL variable which indicates toll roads to be considered (TRUE) or, if reasonable, to be avoided (FALSE) by the route calculation module.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
- 94 - IOPTIONS
2.7.7 SetStyleMapOptions() method
User’s manual NAVIGON Integration Kit 4.0
Description
The SetStyleMapOptions() method switches between the daylight mode and the night mode of the screen.
C++ syntax
IOPTIONS::SetStyleMapOptions
Type
HRESULT SetStyleMapOptions([in] BOOL a_style)
Parameters The method takes the following parameter:
Parameter Signification
a_style
Specifies daylight mode (TRUE) or night mode (FALSE) to be activated.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.7.8 GetStyleMapOptions() method
Description
The GetStyleMapOptions() method retrieves a BOOL variable which indicates whether the daylight mode or the night mode of the screen is currently activated.
C++ syntax
IOPTIONS::GetStyleMapOptions
Type
HRESULT GetStyleMapOptions([out] BOOL * a_style)
Parameters The method takes the following parameter:
Parameter Signification
a_style
Pointer to a BOOL variable which indicates daylight mode (TRUE) or night mode (FALSE) currently being activated.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
Programming interfaces - 95 -
User’s manual NAVIGON Integration Kit 4.0
2.7.9 SetKeyboardMapModeOptions() method
Description
The SetKeyboardMapModeOptions() method enables your application to handle keyboard events of the map window. When an event occurs, the system notifies your application by calling the appropriate callback method. Your application may then react in an appropriate manner.
Notice: By default, NIK handles keyboard events of the map window. Calling this method you may specify that your application will handle these events.
C++ syntax
IOPTIONS::SetKeyboardMapModeOptions
Type
HRESULT SetKeyboardMapModeOptions([in] BOOL a_keyboard)
Parameters The method takes the following parameter:
Parameter Signification
a_keyboard
Specifies whether your application (TRUE) or NIK (FALSE) handles keyboard events of the map window.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.7.10 GetKeyboardMapModeOptions() method
Description
C++ syntax
Type
Parameters The method takes the following parameters:
Return values The method returns one of the following values:
The GetKeyboardMapModeOptions() method retrieves a BOOL variable which indicates whether your application handles keyboard events of the map window.
IOPTIONS::GetKeyboardMapModeOptions
HRESULT GetKeyboardMapModeOptions(
[out] BOOL a_keyboard );
Parameter Signification
a_keyboard
Pointer to a BOOL variable which indicates whether your application TRUE or NIK FALSE handles keyboard events of the map window.
Return value Signification
S_OK
S_FALSE
Done
Error
- 96 - IOPTIONS
User’s manual NAVIGON Integration Kit 4.0
2.7.11 GetBasicMapFolderOptions() method
Description
The GetBasicMapFolderOptions() method retrieves the path of the folder of the basic map.
C++ syntax
IOPTIONS::GetBasicMapFolderOptions
Type
HRESULT GetBasicMapFolderOptions(
[out] BSTR * a_sFolder )
Parameters The method takes the following parameter:
Parameter Signification
a_sFolder
Pointer to a BSTR variable which indicates the path of the folder of the basic map.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.7.12 SetBasicMapFolderOptions() method
Description
C++ syntax
Type
Parameters The method takes the following parameter:
Return values The method returns one of the following values:
The SetBasicMapFolderOptions() method specifies the path of the folder of the basic map.
IOPTIONS::SetBasicMapFolderOptions
HRESULT SetBasicMapFolderOptions (
[out] BSTR * a_sFolder )
Parameter Signification
a_sFolder
Specifies the path of the folder of the basic map.
Return value Signification
S_OK
S_FALSE
Done
Error
Programming interfaces - 97 -
User’s manual NAVIGON Integration Kit 4.0
2.7.13 GetMapsNumberOptions() method
Description
The GetMapsNumberOptions() method retrieves the number of currently available maps.
C++ syntax
IOPTIONS:: GetMapsNumberOptions
Type
HRESULT GetMapsNumberOptions([out] int* a_size);
Parameters The method takes the following parameter:
Parameter Signification
a_size
Pointer to an INT variable which contains the number of currently available maps.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
2.7.14 GetMapsPathsOptions() method
Description
The GetMapsPathsOptions() method retrieves the paths of all currently available maps.
C++ syntax
IOPTIONS:: GetMapsPathsOptions
Type
HRESULT GetMapsPathsOptions(
[in] int csize,
[out, size_is(csize)] BSTR * a_maps )
Parameters The method takes the following parameters:
Parameter Signification
csize
Specifies the size of the a_maps array. This value should be retrieved by calling
GetMapsNumberOptions().
a_maps
Pointer to an array of BSTR variables which contains paths of currently available maps.
Return values The method returns one of the following values:
Return value Signification
S_OK
S_FALSE
Done
Error
- 98 - IOPTIONS
Loading...