CartoType .NET API 9.6-4-g79291b60b
for development in C#, Visual Basic and other .NET languages
CartoTypeWrapper.h
1/*
2CartoTypeWrapper.h
3Copyright (C) CartoType Ltd 2011-2026.
4See www.cartotype.com for more information.
5*/
6
7#pragma once
8
9#include "CartoTypeResult.h"
10#include "CartoTypeGeometry.h"
11#include "CartoTypeMetaData.h"
12#include "CartoTypeFeatureInfo.h"
13#include <memory>
14
15using namespace System;
16using namespace System::Collections::Generic;
17
18#using "System.Drawing.dll"
19
20namespace CartoTypeCore
21{
22class Framework;
23class MapObject;
24class TCoordinateTransform;
25class NavigatorTurn;
26class MInternetAccessor;
27class Route;
28class RouteSegment;
29class RouteProfile;
30class NearestRoadInfo;
31class NearestSegmentInfo;
32class Address;
33class Legend;
34class MapRenderer;
35class RouteCoordSet;
36class NoticePosition;
37class TimeAndDistanceMatrix;
38class LRPoint;
39}
40
42namespace CartoType
43{
44
65// forward declarations
66ref class Framework;
67ref class Route;
68ref class Address;
69ref class Geometry;
70ref class Legend;
71ref class FindAsyncHelper;
72ref class FindAsyncGroupHelper;
73ref class CreateRouteAsyncHelper;
74ref class LoadMapAsyncHelper;
75
77public enum class MapObjectType
78 {
80 Point,
82 Line,
84 Polygon,
86 Array,
89 };
90
92public enum class StringMatchMethod
93 {
95 PrefixFlag = 1,
101 FuzzyFlag = 8,
103 FoldCaseFlag = 16,
106
108 Exact = 0,
119 };
120
122public enum class LetterCase
123 {
125 None,
127 Lower,
129 Upper,
134 Title
135 };
136
138public ref class FindNearbyParam
139 {
140 public:
141 FindNearbyParam() { Type = FeatureType::Invalid; }
142
144 property FeatureType Type;
146 property String^ Text;
148 property Geometry^ Location;
149 };
150
152public ref class FindParam
153 {
154 public:
157 FindParam(FindNearbyParam^ aFindNearbyParam);
158
160 property int MaxObjectCount;
162 property Geometry^ Clip;
164 property Geometry^ Location;
166 property String^ Layers;
173 property String^ Attributes;
178 property String^ Text;
185 property String^ Condition;
187 property bool Merge;
192 property double TimeOut;
193 };
194
196public ref class MapObjectMatch
197 {
198 public:
200 property bool Found;
202 property String^ Key;
204 property String^ Value;
206 property int Start;
208 property int End;
209 };
210
212public ref class MapObject: public Path
213 {
214 public:
216
218 property String^ Label { String^ get(); };
222 String^ StringAttribute(String^ aName);
224 SortedDictionary<String^,String^>^ StringAttributes();
226 property Int64 Id { Int64 get(); }
228 property MapObjectType Type { MapObjectType get(); };
230 property String^ LayerName { String^ get(); }
232 property double Area { double get(); };
234 property double LengthOrPerimeter { double get(); }
241 property Point^ Center { Point^ get(); };
250 property Point^ CenterInDegrees { Point^ get(); };
252 property Rect^ BoundsInDegrees { Rect^ get(); };
254 property Geometry^ GeometryInDegrees { Geometry^ get(); };
256 property Rect^ Bounds { Rect^ get(); }
257
267 MapObjectMatch^ Match(String^ aText,StringMatchMethod aMatchMethod,String^ aAttributes,bool aPhrase);
269 virtual int ContourCount();
271 virtual int PointCount(int aContourIndex);
273 virtual PathPoint^ Point(int aContourIndex,int aPointIndex);
274
275 internal:
276 MapObject(CartoTypeCore::MapObject* aMapObject);
277
278 protected:
279 !MapObject();
280
281 internal:
282 CartoTypeCore::MapObject* m_map_object;
283 };
284
299public ref class MapRenderer
300 {
301 public:
310 MapRenderer(Framework^ aFramework,IntPtr aWindowHandle);
311 ~MapRenderer();
313 void Draw();
315 bool Valid();
326 bool Enable(bool aEnable);
327
328 protected:
329 !MapRenderer();
330
331 internal:
332 Framework^ m_framework;
333 CartoTypeCore::MapRenderer* m_map_renderer = nullptr;
334 };
335
337public enum class FollowFlag
338 {
340 Location = 1,
342 Heading = 2,
344 Zoom = 4
345 };
346
348public enum class FollowMode
349 {
351 None = 0,
360 };
361
363public ref struct ValidityFlag
364 {
365 public:
367 static constexpr uint32_t Time = 1;
369 static constexpr uint32_t Position = 2;
371 static constexpr uint32_t Speed = 4;
373 static constexpr uint32_t Course = 8;
375 static constexpr uint32_t Height = 16;
376 };
377
379public enum class NavigationState
380 {
382 None,
386 Turn,
388 OffRoute,
390 Routing,
392 NewRoute,
394 TurnRound,
396 Arrival,
399 };
400
402public ref class LocationMatchParam
403 {
404 public:
410 property double LocationAccuracyInMeters;
416 property double HeadingAccuracyInDegrees;
422 property double MaxRoadDistanceInMeters;
423 };
424
426public enum class RouterType
427 {
429 Default,
440 TECH
441 };
442
451public enum class TurnType
452 {
454 None,
459 Ahead,
464 BearRight,
466 Right,
470 Around,
472 SharpLeft,
474 Left,
480 };
481
486public enum class RoundaboutState
487 {
489 None,
491 Enter,
493 Continue,
495 Exit
496 };
497
499public ref class Turn
500 {
501 public:
505 void Clear();
506
508 property TurnType Type;
510 property bool IsContinue;
514 property double TurnAngle;
516 property int ExitNumber;
518 property double Distance;
520 property double Time;
522 property String^ FromName;
524 property String^ FromRef;
526 property FeatureInfo^ FromRouteInfo;
528 property String^ ToName;
530 property String^ ToRef;
532 property FeatureInfo^ ToRouteInfo;
534 property String^ Destination;
536 property String^ Instructions;
538 property int Index;
539
540 internal:
541 void Set(const CartoTypeCore::NavigatorTurn& aTurn);
542 };
543
545public enum class RouteProfileType
546 {
548 Car,
550 Walk,
551 Walking = Walk,
553 Cycle,
554 Bicycle = Cycle,
556 Hike,
557 Hiking = Hike,
559 Ski
560 };
561
567public ref class RouteProfile
568 {
569 public:
570 RouteProfile();
574 Result ReadFromXmlFile(String^ aFileName);
576 Result ReadFromXmlString(String^ aString);
578 Result WriteAsXmlFile(String^ aFileName);
580 Result CopyWeights(int aSourceType,int aDestType);
582 static int CustomType(int aIndex) { assert(aIndex >= 0 && aIndex < 32); return aIndex + 32; }
584 property String^ XmlString { String^ get(); }
585
587 property String^ Name;
588
593 property int VehicleType;
594
596 property double Weight;
597
599 property double AxleLoad;
600
602 property double DoubleAxleLoad;
603
605 property double TripleAxleLoad;
606
608 property double Height;
609
611 property double Width;
612
614 property double Length;
615
617 property bool HazMat;
618
620 array<double>^ Speed;
621
626 array<double>^ Bonus;
627
633
638 property int TurnTime;
639
644 property int UTurnTime;
645
653 property int CrossTrafficTurnTime;
654
658 property int TrafficLightTime;
659
664 property bool Shortest;
665
667 property bool ShortestByTime;
668
679 property double TollPenalty;
680
690 array<double>^ GradientSpeed;
691
693 array<double>^ GradientBonus;
694
699 property uint64_t GradientFlags;
700
702 literal int Motorway = 0;
704 literal int MotorwayLink = 1;
706 literal int TrunkRoad = 2;
708 literal int TrunkRoadLink = 3;
710 literal int PrimaryRoad = 4;
712 literal int PrimaryRoadLink = 5;
714 literal int SecondaryRoad = 6;
716 literal int SecondaryRoadLink = 7;
718 literal int TertiaryRoad = 8;
720 literal int UnclassifiedRoad = 9;
722 literal int ResidentialRoad = 10;
724 literal int Track = 11;
726 literal int ServiceRoad = 12;
728 literal int PedestrianRoad = 13;
730 literal int VehicularFerry = 14;
732 literal int PassengerFerry = 15;
734 literal int LivingStreet = 16;
736 literal int Cycleway = 17;
738 literal int Path = 18;
740 literal int Footway = 19;
742 literal int Bridleway = 20;
744 literal int Steps = 21;
746 literal int OtherRoad = 22;
748 literal int UnpavedRoad = 23;
750 literal int Railway = 24;
752 literal int LightRail = 25;
754 literal int Subway = 26;
756 literal int AerialWay = 27;
758 literal int SkiDownhill = 28;
760 literal int SkiNordic = 29;
762 literal int Waterway = 30;
764 literal int UnknownRoute = 31;
766 literal int RouteTypeCount = 64;
767
768 internal:
769 void Set(const CartoTypeCore::RouteProfile& aProfile);
770 void Get(CartoTypeCore::RouteProfile& aProfile);
771 };
772
774public ref class NearestSegmentInfo
775 {
776 public:
778
780 property int SegmentIndex;
782 property int LineIndex;
784 property double NearestPointX;
786 property double NearestPointY;
788 property double DistanceToRoute;
790 property double DistanceAlongRoute;
792 property double DistanceAlongSegment;
794 property double TimeAlongRoute;
796 property double TimeAlongSegment;
798 property double Heading;
799
800 internal:
801 void Set(const CartoTypeCore::NearestSegmentInfo& aInfo);
802 };
803
805public ref class RoutePoint
806 {
807 public:
809 property double X;
811 property double Y;
813 property double Heading;
815 property bool HeadingKnown;
818 };
819
821public ref class RoutePointList: List<RoutePoint^>
822 {
823 };
824
831public ref class RouteCoordSet
832 {
833 public:
835 {
837 }
838
843
844 internal:
845 CartoTypeCore::RouteCoordSet CreateRouteCoordSet();
846 };
847
849public ref class RouteSegment: public Path
850 {
851 public:
856 property String^ Name { String^ get(); };
858 property String^ Ref { String^ get(); };
860 property String^ Destination { String^ get(); };
862 property double Distance { double get(); };
864 property double Time { double get(); };
866 property double TurnTime { double get(); }
868 property TurnType TurnType { CartoType::TurnType get(); }
870 property bool IsContinue { bool get(); }
874 property double TurnAngle { double get(); }
876 property int ExitNumber { int get(); };
878 property int Choices { int get(); }
880 property int Section { int get(); };
882 property String^ Instructions { String^ get(); };
883
885 virtual int ContourCount() { return 1; }
887 virtual int PointCount(int aContourIndex);
889 virtual PathPoint^ Point(int aContourIndex,int aPointIndex);
890
891 internal:
892 RouteSegment(std::shared_ptr<CartoTypeCore::RouteSegment> aRouteSegment);
893
894 private:
895 std::shared_ptr<CartoTypeCore::RouteSegment>* m_route_segment; // use a pointer to a shared pointer because a shared pointer is unmanaged and cannot be stored directly in a managed class
896 };
897
899public ref class Route: public Path
900 {
901 internal:
902 Route(std::shared_ptr<CartoTypeCore::Route> aRoute);
904
905 public:
907 property Geometry^ Geometry { CartoType::Geometry^ get(); };
909 property RouteProfile^ Profile { RouteProfile^ get(); }
911 property double Distance { double get(); }
913 property double Time { double get(); }
915 property int RouteSegmentCount { int get(); }
919 property double TollRoadDistance { double get(); }
934 NearestSegmentInfo^ NearestSegment(double aX,double aY,int aSection,double aPreviousDistanceAlongRoute);
936 NearestSegmentInfo^ PointAtDistance(double aDistanceInMeters);
938 NearestSegmentInfo^ PointAtTime(double aTimeInSeconds);
940 virtual int ContourCount();
942 virtual int PointCount(int aContourIndex);
944 virtual PathPoint^ Point(int aContourIndex,int aPointIndex);
945
946 internal:
947 std::shared_ptr<CartoTypeCore::Route> GetRoute() { return *m_route; }
948
949 protected:
950 !Route();
951
952 private:
953 std::shared_ptr<CartoTypeCore::Route>* m_route; // use a pointer to a shared pointer because a shared pointer is unmanaged and cannot be stored directly in a managed class
954 };
955
961public ref class Address
962 {
963 public:
969 String^ ToString(bool aFull);
970
972 property String^ Building;
974 property String^ Feature;
976 property String^ Street;
978 property String^ SubLocalty;
980 property String^ Locality;
982 property String^ Island;
984 property String^ SubAdminArea;
986 property String^ AdminArea;
988 property String^ Country;
990 property String^ PostCode;
991
992 internal:
993 void Get(CartoTypeCore::Address& aAddress);
994 void Set(const CartoTypeCore::Address& aAddress);
995 };
996
998public enum class SideOfRoad
999 {
1000 None,
1001 Right,
1002 Left,
1003 Both
1004 };
1005
1007public ref class NearestRoadInfo
1008 {
1009 public:
1011 property FeatureInfo^ FeatureInfo;
1013 property String^ Name;
1015 property String^ Ref;
1017 property double NearestPointX;
1019 property double NearestPointY;
1021 property double Distance;
1023 property double HeadingInDegrees;
1025 property double HeadingVectorX;
1027 property double HeadingVectorY;
1033 property SideOfRoad SideOfRoad;
1034
1035 internal:
1036 void Set(const CartoTypeCore::NearestRoadInfo& aInfo);
1037 };
1038
1040public enum class WritableMapType
1041 {
1043 Memory,
1045 SQLite
1046 };
1047
1049public enum class FileType
1050 {
1052 Png,
1054 Jpeg,
1056 Tiff,
1058 Ctm1,
1060 Ctms,
1062 Kml,
1064 Ctsql,
1068 Gpx
1069 };
1070
1072public ref class MapObjectList: List<MapObject^>
1073 {
1074 };
1075
1080public ref class TrafficInfo
1081 {
1082 public:
1083 TrafficInfo();
1084
1086 literal double NoSpeedLimit = 255;
1087
1089 property int VehicleTypes;
1091 property double Speed;
1092 };
1093
1095public enum class RoadOrientation
1096 {
1097 None,
1098 Forwards,
1099 Backwards,
1100 Both,
1101 };
1102
1104public enum class LRType
1105 {
1107 Line,
1115 Circle,
1117 Rectangle,
1119 Polygon,
1122 };
1123
1125public value struct UpdateTrafficResult
1126 {
1133 };
1134
1136public enum class LRFunctionalRoadClass
1137 {
1138 Main = 0,
1139 First = 1,
1140 Second = 2,
1141 Third = 3,
1142 Fourth = 4,
1143 Fifth = 5,
1144 Sixth = 6,
1145 Other = 7,
1146 Unknown = 255
1147 };
1148
1150public enum class LRFormOfWay
1151 {
1152 Undefined = 0,
1153 Motorway = 1,
1154 MultipleCarriageway = 2,
1155 SingleCarriageway = 3,
1156 Roundabout = 4,
1157 TrafficSquare = 5,
1158 SlipRoad = 6,
1159 Other = 7,
1160 Unknown = 255
1161 };
1162
1164public ref class LRPoint sealed
1165 {
1166 public:
1168
1170 property double Longitude;
1172 property double Latitude;
1174 property LRFunctionalRoadClass FRC;
1176 property LRFormOfWay FOW;
1178 property double Bearing;
1180 property bool BearingKnown;
1182 property double DistanceToNextPoint;
1185
1186 internal:
1187 LRPoint(const CartoTypeCore::LRPoint& aPoint);
1188 };
1189
1191public ref class LRGeometry: List<LRPoint^>
1192 {
1193 };
1194
1196public ref class LocationRef sealed
1197 {
1198 public:
1203
1205 property LRType Type;
1207 property String^ Id;
1209 property LRGeometry^ Geometry;
1211 property double RadiusInMeters;
1213 property SideOfRoad SideOfRoad;
1216 };
1217
1219public ref class TrafficEvent sealed
1220 {
1221 public:
1222 TrafficEvent();
1224 static bool CreateFromDatex2Xml(String^ aSituationRecord,TrafficEvent^ aTrafficEvent);
1225
1227 property TrafficInfo^ TrafficInfo;
1229 property LocationRef^ LocationRef;
1230 };
1231
1233public enum class NoticeAnchor
1234 {
1236 TopLeft,
1238 TopRight,
1240 BottomLeft,
1244 Top,
1246 Right,
1248 Left,
1250 Bottom,
1252 Center
1253 };
1254
1267public ref class NoticePosition
1268 {
1269 public:
1273 NoticePosition(NoticeAnchor aAnchor,double aWidth,String^ aWidthUnit);
1279 NoticePosition(NoticeAnchor aAnchor,double aWidth,String^ aWidthUnit,double aXInset,String^ aXInsetUnit,double aYInset,String^ aYInsetUnit);
1281
1282 protected:
1283 !NoticePosition();
1284
1285 internal:
1286 CartoTypeCore::NoticePosition* m_position = nullptr;
1287 };
1288
1290public ref class PositionedBitmap
1291 {
1292 public:
1294 property Drawing::Bitmap^ Bitmap;
1296 property int X;
1298 property int Y;
1299 };
1300
1302public ref struct FontStyleFlag
1303 {
1304 public:
1306 static constexpr uint32_t Bold = 1;
1308 static constexpr uint32_t Italic = 2;
1310 static constexpr uint32_t Serif = 4;
1312 static constexpr uint32_t Cursive = 8;
1314 static constexpr uint32_t Fantasy = 16;
1316 static constexpr uint32_t Monospace = 32;
1317 };
1318
1320public ref class MapObjectGroup
1321 {
1322 public:
1324 property String^ Name;
1326 property MapObjectList^ MapObjectList;
1327 };
1328
1330public ref class MapObjectGroupList: List<MapObjectGroup^>
1331 {
1332 };
1333
1335public delegate void FindAsyncDelegate(MapObjectList^ aMapObjectList);
1336
1338public delegate void FindAsyncGroupDelegate(MapObjectGroupList^ aMapObjectGroupList);
1339
1341public delegate void RouterAsyncDelegate(Result aResult,Route^ aRoute);
1342
1344public delegate void LoadMapAsyncDelegate(Result aResult,String^ aFileName,String^ aKey);
1345
1347public ref class PerspectiveParam
1348 {
1349 public:
1351 {
1352 AutoPosition = true;
1353 AutoAzimuth = true;
1354 DeclinationDegrees = 30;
1355 FieldOfViewDegrees = 22.5;
1356 }
1357
1359 Result ReadFromXml(String^ aText);
1361 String^ ToXml();
1362
1364 property double PositionDegreesX;
1366 property double PositionDegreesY;
1368 property bool AutoPosition;
1370 property double HeightMeters;
1372 property double AzimuthDegrees;
1374 property bool AutoAzimuth;
1376 property double DeclinationDegrees;
1378 property double RotationDegrees;
1380 property double FieldOfViewDegrees;
1381 };
1382
1384public ref class ViewState
1385 {
1386 public:
1387 ViewState() { WidthInPixels = 256; HeightInPixels = 256; }
1388
1390 Result ReadFromXml(String^ aText);
1392 String^ ToXml();
1393
1395 property int WidthInPixels;
1397 property int HeightInPixels;
1399 property double ViewCenterDegreesX;
1401 property double ViewCenterDegreesY;
1403 property double ScaleDenominator;
1405 property double RotationDegrees;
1407 property bool Perspective;
1410 };
1411
1413public ref class NavigatorParam
1414 {
1415 public:
1417 {
1420 RouteTimeTolerance = 30;
1421 NavigationEnabled = true;
1422 }
1423
1425 property int MinimumFixDistance;
1427 property int RouteDistanceTolerance;
1429 property int RouteTimeTolerance;
1434 property bool NavigationEnabled;
1435 };
1436
1438public enum class FilePolicy
1439 {
1441 Default = 0,
1443 Cache = 1,
1445 SharedCache = 2,
1447 MemoryMap = 3,
1449 Simple = 4
1450 };
1451
1458public ref class FrameworkParam
1459 {
1460 public:
1462 {
1463 ViewWidth = 256;
1464 ViewHeight = 256;
1466 }
1467
1469 property String^ MapFileName;
1471 property String^ StyleSheetFileName;
1473 property String^ StyleSheetText;
1475 property String^ FontFileName;
1477 property int ViewWidth;
1479 property int ViewHeight;
1481 property String^ Key;
1483 property FilePolicy MapFilePolicy;
1484 };
1485
1493public value class Color
1494 {
1495 public:
1497 Color(int aValue) { Value = aValue; }
1499 Color(int aRed,int aGreen,int aBlue)
1500 {
1501 Value = (0xFF << 24) | ((aBlue & 0xFF) << 16) | ((aGreen & 0xFF) << 8) | (aRed & 0xFF);
1502 }
1504 Color(int aRed,int aGreen,int aBlue,int aAlpha)
1505 {
1506 Value = ((aAlpha & 0xFF) << 24) | ((aBlue & 0xFF) << 16) | ((aGreen & 0xFF) << 8) | (aRed & 0xFF);
1507 }
1509 Color(String^ aColor);
1511 property int Red { int get() { return (Value & 0xFF); } }
1513 property int Green { int get() { return (Value & 0xFF00) >> 8; } }
1515 property int Blue { int get() { return (Value & 0xFF0000) >> 16; } }
1517 property int Gray { int get() { return ((Value & 0xFF) + ((Value & 0xFF00) >> 8) + ((Value & 0xFF0000) >> 16)) / 3; } }
1519 property int Alpha { int get() { return (Value & 0xFF000000) >> 24; } void set(int aAlpha) { Value = (aAlpha << 24) | (Value & 0xFFFFFF); } }
1521 property bool IsNull { bool get() { return (Value & 0xFF000000) == 0; } }
1522
1524 static const Color KBlack = Color(0xFF000000);
1526 static const Color KDarkGray = Color(0xFF555555);
1528 static const Color KDarkRed = Color(0xFF000080);
1530 static const Color KDarkGreen = Color(0xFF008000);
1532 static const Color KDarkYellow = Color(0xFF008080);
1534 static const Color KDarkBlue = Color(0xFF800000);
1536 static const Color KDarkMagenta = Color(0xFF800080);
1538 static const Color KDarkCyan = Color(0xFF808000);
1540 static const Color KRed = Color(0xFF0000FF);
1542 static const Color KGreen = Color(0xFF00FF00);
1544 static const Color KYellow = Color(0xFF00FFFF);
1546 static const Color KBlue = Color(0xFFFF0000);
1548 static const Color KMagenta = Color(0xFFFF00FF);
1550 static const Color KCyan = Color(0xFFFFFF00);
1552 static const Color KGray = Color(0xFFAAAAAA);
1554 static const Color KWhite = Color(0xFFFFFFFF);
1555
1557 static const Color KTransparentBlack = Color(0x00000000);
1558
1560 property int Value;
1561 };
1562
1567public ref class BlendStyle
1568 {
1569 public:
1574 property String^ Styles;
1576 property Color MainColor;
1578 property Color BorderColor;
1580 property Color TextColor;
1582 property Color TextGlowColor;
1584 property Color IconColor;
1585 };
1586
1591public ref class BlendStyleSet: List<BlendStyle^>
1592 {
1593 };
1594
1597 {
1598 public:
1600 property int FromCount { int get(); };
1602 property int ToCount { int get(); };
1604 int Time(int aFromIndex,int aToIndex);
1606 int Distance(int aFromIndex,int aToIndex);
1607
1608 protected:
1610
1611 internal:
1612 TimeAndDistanceMatrix(CartoTypeCore::TimeAndDistanceMatrix* aMatrix);
1614
1615 CartoTypeCore::TimeAndDistanceMatrix* m_matrix = nullptr;
1616 };
1617
1619public ref class TileSet
1620 {
1621 public:
1628 property String^ FileNameTemplate;
1630 property Rect^ TileRange;
1632 property int FileZoom;
1634 property int MinDisplayZoom;
1636 property int MaxDisplayZoom;
1637 };
1638
1640public ref class TileParam
1641 {
1642 public:
1644 property List<TileSet^>^ TileSetList;
1645 };
1646
1654public ref class Framework
1655 {
1656 public:
1658 Framework(String^ aMapFileName,String^ aStyleSheetFileName,String^ aFontFileName,
1659 int aViewWidth,int aViewHeight);
1661 Framework(String^ aMapFileName,String^ aStyleSheetFileName,String^ aFontFileName,
1662 int aViewWidth,int aViewHeight,String^ aKey);
1665
1666 ~Framework();
1667
1669 Result License(String^ aKey);
1671 property String^ Licensee { String^ get(); };
1678 Result SetProviderParam(String^ aKey,String^ aValue);
1680 property String^ ExpiryDate { String^ get(); };
1682 property String^ AppBuildDate { String^ get(); };
1684 property String^ Copyright { String^ get(); };
1688 void SetCopyrightNotice(String^ aCopyright);
1692 Result SetLegend(NoticeAnchor aAnchor,double aWidth,String^ aUnit);
1694 property bool LegendEnabled { bool get(); void set(bool); }
1698 Result SetScaleBar(NoticeAnchor aAnchor,double aWidth,String^ aUnit);
1700 property bool ScaleBarEnabled { bool get(); void set(bool); }
1702 Result SetTurnInstructions(NoticePosition^ aPosition,Legend^ aLegend,bool aAbbreviate);
1704 Result SetTurnInstructions(NoticeAnchor aAnchor,double aWidth,String^ aWidthUnit,double aTextSize,String^ aTextSizeUnit,bool aAbbreviate);
1706 property bool TurnInstructionsEnabled { bool get(); void set(bool); }
1714 void SetTurnInstructionText(String^ aText);
1719 property String^ TurnInstructionText { String^ get(); };
1721 void DrawNoticesAutomatically(bool aEnable);
1723 property bool HasNotices { bool get(); }
1727 Result Configure(String^ aConfigFileName);
1729 Result LoadMap(String^ aMapFileName);
1731 Result LoadMap(String^ aMapFileName,String^ aKey,FilePolicy aPolicy);
1733 Result LoadMapAsync(LoadMapAsyncDelegate^ aDelegate,String^ aMapFileName,String^ aKey,FilePolicy aPolicy);
1745 Result CreateWritableMap(WritableMapType aType,String^ aFileName);
1752 Result SaveMap(int aHandle,String^ aFileName,FileType aFileType);
1759 Result ReadMap(int aHandle,String^ aFileName,FileType aFileType);
1765 Result SaveMap(int aHandle,array<Byte>^ aData,FindParam^ aFindParam);
1771 Result ReadMap(int aHandle,array<Byte>^ aData);
1777 Result WriteMapImage(String^ aFileName,FileType aFileType,bool aCompress);
1779 bool MapIsEmpty(int aHandle);
1781 property int MapCount { int get(); }
1783 int MapHandle(int aIndex);
1785 bool MapIsWritable(int aIndex);
1794 void EnableMapByHandle(int aHandle,bool aEnable);
1798 property int LastMapHandle { int get(); }
1800 property int MainMapHandle { int get(); }
1802 property int MemoryMapHandle { int get(); }
1804 Result LoadFont(String^ aFontFileName);
1806 Result LoadFont(array<Byte>^ aData);
1812 Result SetStyleSheet(String^ aStyleSheetFileName,int aIndex);
1820 Result SetStyleSheet(array<Byte>^ aData,int aIndex);
1835 void AppendStyleSheet(String^ aStyleSheetFileName);
1840 void AppendStyleSheet(array<Byte>^ aData);
1850 void EnableLayer(String^ aLayerName,bool aEnable);
1852 bool LayerIsEnabled(String^ aLayerName);
1854 property List<String^>^ LayerNames { List<String^>^ get(); }
1856 Result Resize(int aViewWidth,int aViewHeight);
1858 property double ResolutionDpi { double get(); void set(double); };
1860 property double ScaleDenominator { double get(); void set(double); };
1862 property double ScaleDenominatorInView { double get(); void set(double); };
1864 double DistanceInMeters(double aX1,double aY1,double aX2,double aY2,CoordType aCoordType);
1869 double ScaleDenominatorFromZoomLevel(double aZoomLevel,int aImageSizeInPixels);
1874 double ZoomLevelFromScaleDenominator(double aScaleDenominator,int aImageSizeInPixels);
1876 property bool Perspective { bool get(); void set(bool); }
1880 property bool Draw3DBuildings { bool get(); void set(bool); }
1882 Result Zoom(double aZoomFactor);
1884 property bool AnimateTransitions { bool get(); void set(bool); }
1886 property double LabelFPS { double get(); void set(double); }
1888 property bool FixedLabels { bool get(); void set(bool); }
1890 property double LabelUpAngle { double get(); void set(double); }
1901 Result ZoomAt(double aZoomFactor,double aX,double aY,CoordType aCoordType);
1903 Result Rotate(double aAngle);
1905 Result RotateAt(double aAngle,double aX,double aY,CoordType aCoordType);
1907 property double Rotation { double get(); void set(double); }
1909 Result SetRotationAt(double aAngle,double aX,double aY,CoordType aCoordType);
1911 Result RotateAndZoom(double aAngle,double aZoomFactor,double aX,double aY,CoordType aCoordType);
1913 void Pan(int aDx,int aDy);
1915 Result Pan(double aFromX,double aFromY,CoordType aFromCoordType,
1916 double aToX,double aToY,CoordType aToCoordType);
1918 Result SetViewCenter(double aX,double aY,CoordType aCoordType);
1920 Result SetView(double aX1,double aY1,double aX2,double aY2,CoordType aCoordType,int aMarginInPixels,int aMinScaleDenominator);
1922 void SetView(MapObject^ aMapObject,int aMarginInPixels,int aMinScaleDenominator);
1924 Result SetView(MapObjectList^ aObjectList,int aMarginInPixels,int aMinScaleDenominator);
1926 Result SetView(Geometry^ aGeometry,int aMarginInPixels,int aMinScaleDenominator);
1928 Result SetViewToRoute(int aMarginInPixels,int aMinScaleDenominator);
1941 Result SetViewLimits(double aMinScaleDenominator,double aMaxScaleDenominator,Geometry^ aPanArea);
1942
1944 Result GetView(Rect^ aView,CoordType aCoordType);
1946 Result GetMapExtent(Rect^ aExtent,CoordType aCoordType);
1948 property String^ ProjectionAsProj4Param { String^ get(); }
1950 property ViewState^ ViewState { CartoType::ViewState^ get(); void set(CartoType::ViewState^); }
1951
1961 Result InsertMapObject(int aMapHandle,String^ aLayerName,Geometry^ aGeometry,
1962 String^ aStringAttributes,FeatureInfo^ aFeatureInfo,Int64% aId,bool aReplace);
1971 Result InsertPointMapObject(int aMapHandle,String^ aLayerName,double aX,double aY,
1972 CoordType aCoordType,String^ aStringAttributes,FeatureInfo^ aFeatureInfo,Int64% aId,bool aReplace);
1983 Result InsertCircleMapObject(int aMapHandle,String^ aLayerName,
1984 double aCenterX,double aCenterY,CoordType aCenterCoordType,double aRadius,CoordType aRadiusCoordType,
1985 String^ aStringAttributes,FeatureInfo^ aFeatureInfo,Int64% aId,bool aReplace);
1996 Result InsertEllipseMapObject(int aMapHandle,String^ aLayerName,double aCenterX,double aCenterY,CoordType aCenterCoordType,
1997 double aRadiusX,double aRadiusY,CoordType aRadiusCoordType,double aRotationDegrees,String^ aStringAttributes,FeatureInfo^ aFeatureInfo,Int64% aId,bool aReplace);
2008 Result InsertEnvelopeMapObject(int aMapHandle,String^ aLayerName,Geometry^ aGeometry,
2009 double aRadius,CoordType aRadiusCoordType,
2010 String^ aStringAttributes,FeatureInfo^ aFeatureInfo,Int64% aId,bool aReplace);
2011
2031 Result InsertPushPin(double aX,double aY,CoordType aCoordType,String^ aStringAttributes,String^ aColor,int aIconCharacter,Int64% aId);
2032
2042 Result InsertCopyOfMapObject(int aMapHandle,String^ aLayerName,MapObject^ aObject,double aEnvelopeRadius,
2043 CoordType aRadiusCoordType,Int64% aId,bool aReplace);
2044
2049 Result DeleteMapObjects(int aMapHandle,Int64 aStartId,Int64 aEndId,Int64% aDeletedCount,String^ aCondition);
2054 MapObject^ LoadMapObject(int aMapHandle,Int64 aId);
2063 Result ReadGpx(int aMapHandle,String^ aFileName);
2072 Geometry^ Range(RouteProfile^ aProfile,double aX,double aY,CoordType aCoordType,double aTimeOrDistance,bool aIsTime);
2081 TimeAndDistanceMatrix^ TimeAndDistanceMatrix(Result% aResult,array<PointValue>^ aFrom,array<PointValue>^ aTo,CoordType aCoordType);
2092 bool MutuallyAccessible(Result% aResult,array<PointValue>^ aPointArray,CoordType aCoordType,array<int>^ aGroupArray);
2100 Result GetAreaAndLength(Geometry^ aGeometry,double% aArea,double% aLength);
2108 Result GetContourAreaAndLength(Geometry^ aGeometry,int aContourIndex,double% aArea,double% aLength);
2110 Result ConvertCoords(Geometry^ aGeometry,CoordType aToCoordType);
2112 Result ConvertPoint(Point^ aPoint,CoordType aFromCoordType,CoordType aToCoordType);
2114 double PixelsToMeters(double aPixels);
2116 double MetersToPixels(double aMeters);
2118 property String^ DataSetName { String^ get(); };
2119
2127 Result EditNewLineObject(double aX,double aY);
2129 Result EditNewPolygonObject(double aX,double aY);
2131 Result EditMoveCurrentPoint(double aX,double aY);
2144 Result EditSelectNearestPoint(double aX,double aY,double aRadiusInMillimeters);
2152 Result EditInsertCurrentObject(String^ aLayer,Int64% aId,bool aReplace);
2154 Result EditSetCurrentObjectStringAttribute(String^ aKey,String^ aValue);
2162 Result EditGetCurrentObjectAreaAndLength(double% aArea,double% aLength);
2163
2165 Drawing::Bitmap^ MapBitmap();
2166
2168 Drawing::Bitmap^ TileBitmap(int aTileSizeInPixels,int aZoom,int aX,int aY);
2169
2178 bool ClipBackgroundToMapBounds(bool aEnable);
2179
2196
2197 // adding and removing style sheet icons loaded from files
2211 Result LoadIcon(String^ aFileName,String^ aId,int aHotSpotX,int aHotSpotY,int aLabelX,int aLabelY);
2213 void UnloadIcon(String^ aId);
2214
2215 // finding map objects
2225 Result FindInDisplay(MapObjectList^ aObjectList,int aMaxObjectCount,double aX,double aY,double aRadius);
2227 Result FindAddress(MapObjectList^ aObjectList,int aMaxObjectCount,Address^ aAddress,bool aFuzzy);
2239 Result FindAddressAsync(FindAsyncDelegate^ aDelegate,int aMaxObjectCount,Address^ aAddress,bool aFuzzy,bool aOverride);
2241 Result FindInLayer(MapObjectList^ aObjectList,int aMaxObjectCount,String^ aLayer,double aMinX,double aMinY,double aMaxX,double aMaxY,CoordType aCoordType);
2250 Result FindText(MapObjectList^ aObjectList,int aMaxObjectCount,String^ aText,StringMatchMethod aMatchMethod,String^ aLayers,String^ aAttrib);
2255 Result Find(MapObjectList^ aObjectList,FindParam^ aFindParam);
2262 Result Find(MapObjectGroupList^ aObjectGroupList,FindParam^ aFindParam);
2264 Result Find(MapObjectList^ aObjectList,FindNearbyParam^ aFindNearbyParam);
2278 Result FindAsync(FindAsyncDelegate^ aDelegate,FindParam^ aFindParam,bool aOverride);
2295 Result FindAsync(FindAsyncGroupDelegate^ aDelegate,FindParam^ aFindParam,bool aOverride);
2296
2314 Result FindPointsInPath(MapObjectList^ aObjectList,Geometry^ aPath,FindParam^ aFindParam);
2325 double Height(double aX,double aY,CoordType aCoordType);
2336 Result GetHeights(array<double>^ aX,array<double>^ aY,array<double>^ aTerrainHeightArray,CoordType aCoordType);
2338 array<HeightProfilePoint^>^ HeightProfile(Route^ aRoute,double aIntervalInMeters);
2339
2340 // style sheet variables
2342 void SetStyleSheetVariable(String^ aVariableName,String^ aValue);
2344 void SetStyleSheetVariable(String^ aVariableName,int aValue);
2345
2346 // night mode and color blending
2348 property bool NightMode { bool get(); void set(bool); }
2350 property bool Monochrome { bool get(); void set(bool); }
2361 property Color NightModeColor { Color get(); void set(Color); }
2368
2369 // geocoding
2378 String^ GeoCodeSummary(MapObject^ aMapObject);
2385 Result GetAddress(Address^ aAddress,MapObject^ aMapObject);
2386
2391 Result GetAddressFast(Address^ aAddress,MapObject^ aMapObject);
2392
2401 String^ GeoCodeSummary(double aX,double aY,CoordType aCoordType);
2402
2409 Result GetAddress(Address^ aAddress,double aX,double aY,CoordType aCoordType);
2410
2411 // navigation
2422 property RouterType PreferredRouterType { RouterType get(); void set(RouterType); }
2436 property RouterType ActualRouterType { RouterType get(); }
2445 Result StartNavigation(array<double>^ aX,array<double>^ aY,CoordType aCoordType);
2447 Result StartNavigation(double aStartX,double aStartY,CoordType aStartCoordType,
2448 double aEndX,double aEndY,CoordType aEndCoordType);
2450 Route^ CreateRoute(Result% aResult,RouteProfile^ aProfile,RouteCoordSet^ aCoordSet);
2458 Result CreateRouteAsync(RouterAsyncDelegate^ aDelegate,RouteProfile^ aProfile,RouteCoordSet^ aCoordSet,bool aOverride);
2460 Route^ CreateRoute(Result% aResult,RouteProfile^ aProfile,array<double>^ aX,array<double>^ aY,CoordType aCoordType);
2485 bool aStartFixed,bool aEndFixed,int aIterations);
2498 bool aStartFixed,bool aEndFixed,int aIterations,bool aOverride);
2500 Route^ CreateBestRoute(Result% aResult,RouteProfile^ aProfile,array<double>^ aX,array<double>^ aY,CoordType aCoordType,
2501 bool aStartFixed,bool aEndFixed,int aIterations);
2502
2503
2512 Route^ CreateRouteFromXml(Result% aResult,RouteProfile^ aProfile,String^ aFilenameOrData);
2513
2522 String^ RouteInstructions(Route^ aRoute);
2533 property bool NavigationEnabled { bool get(); void set(bool); }
2571 property int BuiltInRouteProfileCount { int get(); }
2590 Result DisplayRoute(bool aEnable);
2596 Result DisplayRouteChoices(array<CartoType::Route^>^ aRouteArray);
2605 Result ReadRouteFromXml(String^ aFileNameOrData);
2607 Result WriteRouteAsXml(CartoType::Route^ aRoute,String^ aFileName,FileType aFileType);
2654 Result Navigate(int aValidity,double aTime,double aLong,double aLat,double aSpeed,double aBearing,double aHeight);
2663 property Turn^ FirstTurn { Turn^ get(); }
2671 property Turn^ SecondTurn { Turn^ get(); }
2680 property Turn^ ContinuationTurn { Turn^ get(); }
2684 property String^ Framework::VoiceInstruction { String^ get(); }
2697 property int NavigationMinimumFixDistance { int get(); void set(int); }
2699 property int NavigationTimeOffRouteTolerance { int get(); void set(int); }
2701 property int NavigationDistanceOffRouteTolerance { int get(); void set(int); }
2721 int SetNearbyObjectWarning(int aId,String^ aLayer,String^ aCondition,double aMaxDistance,int aMaxObjectCount);
2737 int SetVehicleTypeWarning(double aMaxDistance,int aMaxObjectCount);
2745 property double DistanceToDestination { double get(); }
2747 property double EstimatedTimeToDestination { double get(); }
2757 Result FindNearestRoad(NearestRoadInfo^ aInfo,double aX,double aY,CoordType aCoordType,
2758 double aHeadingInDegrees,bool aDisplayPosition);
2768 Result DisplayPositionOnNearestRoad(double aLong,double aLat,double aHeadingInDegrees,NearestRoadInfo^ aInfo);
2774 void SetVehiclePosOffset(double aXOffset,double aYOffset);
2777
2783 Result SetFollowScale(double aMinScale,double aSlowScale,double aFastScale,double aMaxScale);
2784
2787
2793 property String^ Locale { String^ get(); void set(String^); }
2794
2796 property bool MetricUnits { bool get(); void set(bool); }
2797
2799 String^ DistanceToString(double aDistanceInMeters,bool aAbbreviate);
2800
2802 String^ TimeToString(double aTimeInSeconds);
2803
2810 String^ SetCase(String^ aString,LetterCase aCase);
2811
2832 Result AddTrafficEvent(Int64% aId,TrafficEvent^ aTrafficEvent);
2833
2857 Result AddPolygonSpeedLimit(Int64% aId,Geometry^ aPolygon,double aSpeed,int aVehicleTypes);
2858
2886 Result AddLineSpeedLimit(Int64% aId,LRGeometry^ aLine,double aSpeed,int aVehicleTypes);
2887
2914 Result AddClosedLineSpeedLimit(Int64% aId,LRGeometry^ aLine,double aSpeed,int aVehicleTypes);
2915
2928 Result AddForbiddenArea(Int64% aId,Geometry^ aPolygon);
2929
2942
2945
2949 property bool TrafficInfoEnabled { bool get(); void set(bool); }
2950
2953
2960
2963
2966
2968 property bool Tracking { bool get(); }
2969
2971 property bool DisplayTrack { bool get(); void set(bool); }
2976 property Geometry^ Track { Geometry^ get(); }
2977
2979 property double TrackLengthInMeters { double get(); }
2980
2982 Result WriteTrackAsXml(String^ aFileName);
2983
2985 property String^ TrackAsXmlString { String^ get(); }
2986
2988 static const int KMaxRoutesDisplayed = 16;
2989
2990 // server
2991
3009 array<Byte>^ HandleQuery(String^ aQuery,array<Byte>^ aData);
3010
3012 property Result LastError { Result get(); }
3013
3014 protected:
3015 !Framework();
3016
3017 internal:
3018 auto GetFramework() { return m_framework; }
3019 List<FindAsyncHelper^>^ m_find_async_helper_list = gcnew List<FindAsyncHelper^>();
3020 List<FindAsyncGroupHelper^>^ m_find_async_group_helper_list = gcnew List<FindAsyncGroupHelper^>();
3021 List<CreateRouteAsyncHelper^>^ m_create_route_async_helper_list = gcnew List<CreateRouteAsyncHelper^>();
3022 List<LoadMapAsyncHelper^>^ m_load_map_async_helper_list = gcnew List<LoadMapAsyncHelper^>();
3023
3024 private:
3025 Result CreateRouteAsync(RouterAsyncDelegate^ aDelegate,bool aBest,CartoType::RouteProfile^ aProfile,RouteCoordSet^ aCoordSet,
3026 bool aStartFixed,bool aEndFixed,int aIterations,bool aOverride);
3027
3028 CartoTypeCore::Framework* m_framework = nullptr;
3029 Drawing::Bitmap^ m_bitmap = nullptr;
3030 Drawing::Bitmap^ m_memory_database_bitmap = nullptr;
3031 Drawing::Bitmap^ m_tile_bitmap = nullptr;
3032 uint32_t m_error = 0;
3033 };
3034
3036public enum class Align
3037 {
3039 Center,
3041 Standard,
3043 Reverse,
3045 Left,
3047 Right
3048 };
3049
3051public ref struct LegendStyleFlag
3052 {
3053 public:
3055 static constexpr uint32_t Title = 1;
3057 static constexpr uint32_t ScaleInTitle = 2;
3059 static constexpr uint32_t MapObjects = 4;
3061 static constexpr uint32_t ScaleBar = 8;
3063 static constexpr uint32_t HeightProfile = 16;
3065 static constexpr uint32_t StandardStyle = 15;
3070 static constexpr uint32_t TurnStyle = 32;
3075 static constexpr uint32_t ScaleStyle = 64;
3077 static constexpr uint32_t EmptyStyle = 0;
3078 };
3079
3093public ref class Legend
3094 {
3095 public:
3097 Legend(Framework^ aFramework);
3098
3100 Legend(Framework^ aFramework,uint32_t aStyle);
3101
3102 ~Legend();
3103
3105 void Clear();
3106
3111 void AddMapObjectLine(MapObjectType aType,String^ aLayer,FeatureInfo^ aFeatureInfo,String^ aStringAttrib,String^ aLabel);
3112
3116 void AddMapObjectLine(MapObjectType aType,String^ aLayer,FeatureType aFeatureType,String^ aStringAttrib,String^ aLabel);
3117
3119 void AddTextLine(String^ aText);
3120
3125
3129 void AddTurnLine(bool aAbbreviate);
3130
3133
3135 void SetMainStyleSheet(array<Byte>^ aData);
3136
3144 void SetExtraStyleSheet(array<Byte>^ aData);
3145
3148
3150 void SetBorder(Color aColor,double aStrokeWidth,double aRadius,String^ aUnit);
3151
3153 void SetMarginWidth(double aMarginWidth,String^ aUnit);
3154
3156 void SetMinLineHeight(double aLineHeight,String^ aUnit);
3157
3159 void SetLabelWrapWidth(double aWrapWidth,String^ aUnit);
3160
3162 void SetFontFamily(String^ aFontFamily);
3163
3165 void SetFontStyle(uint32_t aStyle);
3166
3168 void SetFontSize(double aFontSize,String^ aUnit);
3169
3171 void SetTextColor(Color aTextColor);
3172
3174 void SetDiagramColor(Color aDiagramColor);
3175
3177 void SetAlignment(Align aAlignment);
3178
3180 void SetPolygonRotation(double aDegrees);
3181
3186 void SetTurnInstruction(String^ aText);
3187
3193
3194 protected:
3195 !Legend();
3196
3197 internal:
3198 CartoTypeCore::Legend* GetLegend() { return m_legend; }
3199
3200 private:
3201 CartoTypeCore::Legend* m_legend = nullptr;
3202 };
3203
3205public ref class Util abstract sealed
3206 {
3207 public:
3209 static String^ Description();
3211 static String^ Version();
3213 static String^ Build();
3214
3216 static double SphericalPolygonArea(array<double>^ aX,array<double>^ aY);
3218 static double Length(array<double>^ aX,array<double>^ aY);
3220 static double GreatCircleDistanceInMeters(double aLong1,double aLat1,double aLong2,double aLat2);
3225 static double AzimuthInDegrees(double aLong1,double aLat1,double aLong2,double aLat2);
3227 static Point^ PointAtAzimuth(double aLong,double aLat,double aDir,double aDistanceInMeters);
3232 static double DistanceFromPoint(array<double>^ aX,array<double>^ aY,bool aIsPolygon,double aPointX,double aPointY,Point^ aNearestPoint);
3243 static String^ SetAttribute(String^ aString,String^ aKey,String^ aValue);
3245 static String^ ErrorString(Result aError);
3255 static String^ UKGridReferenceFromDegrees(PointValue aPointInDegrees,int aDigits);
3264 static PointValue PointInDegreesFromUKGridReference(String^ aGridReference);
3265 };
3266
3267}
A structured address. Any field may be empty or null, but at least one field should be non-empty for ...
Definition: CartoTypeWrapper.h:962
String^ Feature
The name of a feature or place of interest.
Definition: CartoTypeWrapper.h:974
String^ Country
The country.
Definition: CartoTypeWrapper.h:988
String^ PostCode
The postal code.
Definition: CartoTypeWrapper.h:990
String^ Building
The name or number of the building.
Definition: CartoTypeWrapper.h:972
String^ AdminArea
The administrative area: state, province, etc.
Definition: CartoTypeWrapper.h:986
String ^ ToString(bool aFull)
Returns the address as a string. If aFull is true, supplies the main administrative division (state,...
String^ Locality
The village, town or city.
Definition: CartoTypeWrapper.h:980
String^ Island
The island.
Definition: CartoTypeWrapper.h:982
String^ SubLocalty
The suburb, neighborhood, quarter or other subdivision of the locality.
Definition: CartoTypeWrapper.h:978
String^ SubAdminArea
The subsidiary administrative area: district, parish, etc.
Definition: CartoTypeWrapper.h:984
String^ Street
The street, road or other highway.
Definition: CartoTypeWrapper.h:976
A rule to modify a certain style or styles. The colors are blended with colors in a style,...
Definition: CartoTypeWrapper.h:1568
Color MainColor
The color to be blended with the colors in the style.
Definition: CartoTypeWrapper.h:1576
Color IconColor
If not null, the forced color for icons.
Definition: CartoTypeWrapper.h:1584
Color BorderColor
If not null, the color to be blended with border colors.
Definition: CartoTypeWrapper.h:1578
Color TextColor
If not null, the color to be blended with text colors.
Definition: CartoTypeWrapper.h:1580
String^ Styles
A space or comma separated list of wild-card style names. The special name '[legend]' is used for the...
Definition: CartoTypeWrapper.h:1574
Color TextGlowColor
If not null, the color to be blended with text glow colors.
Definition: CartoTypeWrapper.h:1582
A set of rules for modifying style sheet colors, for example to add contrast, lighten or darken....
Definition: CartoTypeWrapper.h:1592
A color>
Definition: CartoTypeWrapper.h:1494
static const Color KMagenta
Opaque magenta.
Definition: CartoTypeWrapper.h:1548
static const Color KYellow
Opaque yellow.
Definition: CartoTypeWrapper.h:1544
static const Color KBlack
Opaque black.
Definition: CartoTypeWrapper.h:1524
int Green
The green component as a value in the range 0...255.
Definition: CartoTypeWrapper.h:1513
static const Color KDarkRed
Opaque dark red.
Definition: CartoTypeWrapper.h:1528
static const Color KGray
Opaque gray.
Definition: CartoTypeWrapper.h:1552
static const Color KRed
Opaque red.
Definition: CartoTypeWrapper.h:1540
static const Color KDarkCyan
Opaque dark cyan.
Definition: CartoTypeWrapper.h:1538
static const Color KTransparentBlack
The 'null color' transparent black.
Definition: CartoTypeWrapper.h:1557
Color(int aRed, int aGreen, int aBlue)
Creates a color from red, green, and blue values.
Definition: CartoTypeWrapper.h:1499
int Value
The color value as a 32-bit integer.
Definition: CartoTypeWrapper.h:1560
static const Color KDarkYellow
Opaque dark yellow.
Definition: CartoTypeWrapper.h:1532
bool IsNull
Returns true if the colour is null.
Definition: CartoTypeWrapper.h:1521
int Alpha
The alpha (transparency) level as a value in the range 0...255: 0 = transparent, 255 = opaque.
Definition: CartoTypeWrapper.h:1519
int Red
The red component as a value in the range 0...255.
Definition: CartoTypeWrapper.h:1511
static const Color KDarkGray
Opaque dark gray.
Definition: CartoTypeWrapper.h:1526
Color(int aValue)
Creates a color from an integer value.
Definition: CartoTypeWrapper.h:1497
static const Color KGreen
Opaque green.
Definition: CartoTypeWrapper.h:1542
int Blue
The blue component as a value in the range 0...255.
Definition: CartoTypeWrapper.h:1515
static const Color KWhite
Opaque white.
Definition: CartoTypeWrapper.h:1554
static const Color KBlue
Opaque blue.
Definition: CartoTypeWrapper.h:1546
static const Color KDarkGreen
Opaque dark green.
Definition: CartoTypeWrapper.h:1530
static const Color KDarkBlue
Opaque dark blue.
Definition: CartoTypeWrapper.h:1534
static const Color KCyan
Opaque cyan.
Definition: CartoTypeWrapper.h:1550
static const Color KDarkMagenta
Opaque dark magenta.
Definition: CartoTypeWrapper.h:1536
int Gray
The gray level (average of red, green and blue levels) as a value in the range 0.....
Definition: CartoTypeWrapper.h:1517
Color(int aRed, int aGreen, int aBlue, int aAlpha)
Creates a color from red, green, blue and alpha values.
Definition: CartoTypeWrapper.h:1504
Feature information for a map object, represented internally as a 32-bit value.
Definition: CartoTypeFeatureInfo.h:393
Parameters for finding nearby places.
Definition: CartoTypeWrapper.h:139
FeatureType Type
The type of place to search for. The value FeatureType::Invalid causes Text only to be used.
Definition: CartoTypeWrapper.h:144
String^ Text
The name, full or partial, of the place.
Definition: CartoTypeWrapper.h:146
Geometry^ Location
The location of interest.
Definition: CartoTypeWrapper.h:148
Parameters for the general Find function.
Definition: CartoTypeWrapper.h:153
Geometry^ Location
The current location. If it is non-empty, objects in or near this region are preferred.
Definition: CartoTypeWrapper.h:164
double TimeOut
The maximum time in seconds allowed for a find operation. Find operations are not guaranteed to retur...
Definition: CartoTypeWrapper.h:192
StringMatchMethod StringMatchMethod
The string matching method used for text searching; default = StringMatchExact.
Definition: CartoTypeWrapper.h:180
String^ Attributes
Attributes used in text searching (if Text is not empty). If Attributes is empty, all attributes are ...
Definition: CartoTypeWrapper.h:173
String^ Layers
A list of layer names separated by spaces or commas. If it is null or empty all layers are searched....
Definition: CartoTypeWrapper.h:166
Geometry^ Clip
The clip path; no clipping is done if Clip is null or empty.
Definition: CartoTypeWrapper.h:162
bool Merge
If Merge is true adjoining objects with the same name and attributes may be merged into a single obje...
Definition: CartoTypeWrapper.h:187
String^ Text
The text to search for. Unless null or empty, restricts the search to objects containing Text in one ...
Definition: CartoTypeWrapper.h:178
int MaxObjectCount
The maximum number of objects to return; default = INT32_MAX.
Definition: CartoTypeWrapper.h:160
String^ Condition
Unless null or empty, a style sheet condition (e.g., "@sub_type=2") which must be fulfilled by all th...
Definition: CartoTypeWrapper.h:185
The Framework class provides a high-level API for CartoType, through which map data can be loaded,...
Definition: CartoTypeWrapper.h:1655
void EnableMapByHandle(int aHandle, bool aEnable)
Enables or disables a map, selecting it by handle.
void SetStyleSheetVariable(String^ aVariableName, String^ aValue)
Sets a style sheet variable to a string value.
array< Byte > ^ HandleQuery(String^ aQuery, array< Byte >^ aData)
Handles a query sent over a communication system such as HTTP. The query requests data from the main ...
Result FindNearestRoad(NearestRoadInfo^ aInfo, double aX, double aY, CoordType aCoordType, double aHeadingInDegrees, bool aDisplayPosition)
Finds the nearest road to the point (aX,aY), returns information about it in aInfo,...
void AppendStyleSheet(String^ aStyleSheetFileName)
Loads an extra style sheet from a file. Extra style sheets are compiled after the main style sheet.
double MetersToPixels(double aMeters)
Converts a distance in map meters (projected meters) to pixels.
double TrackLengthInMeters
Returns the length of the current track in meters.
Definition: CartoTypeWrapper.h:2979
TimeAndDistanceMatrix ^ TimeAndDistanceMatrix(Result% aResult, array< PointValue >^ aFrom, array< PointValue >^ aTo, CoordType aCoordType)
Returns a vector of route times in seconds and distances in metres from aFrom to all points in aTo.
Result Rotate(double aAngle)
Rotates the map by an angle given in degrees.
Result InsertCopyOfMapObject(int aMapHandle, String^ aLayerName, MapObject^ aObject, double aEnvelopeRadius, CoordType aRadiusCoordType, Int64% aId, bool aReplace)
Inserts an object by copying an existing object.
Result FindPolygonsContainingPath(MapObjectList^ aObjectList, Geometry^ aPath, FindParam^ aFindParam)
Finds all polygon objects containing a certain path.
Result LastError
The result of calling the last non-void function that did not return a result code.
Definition: CartoTypeWrapper.h:3012
Geometry^ Track
Returns the current track as a geometry object with coordinates in degrees. Each segment of the track...
Definition: CartoTypeWrapper.h:2976
Result StartNavigation(double aStartX, double aStartY, CoordType aStartCoordType, double aEndX, double aEndY, CoordType aEndCoordType)
Starts navigating between the specified points. Call Navigate as needed to supply the vehicle positio...
Result SetFollowScale(double aMinScale, double aSlowScale, double aFastScale, double aMaxScale)
Sets the scale denominators to be used during navigation when moving at various speeds....
int NavigationDistanceOffRouteTolerance
Sets the maximum time off route in seconds before a new route is calculated.
Definition: CartoTypeWrapper.h:2701
Result FindAsync(FindAsyncDelegate^ aDelegate, FindParam^ aFindParam, bool aOverride)
Performs a general find operation asynchronously.
Result CreateWritableMap(WritableMapType aType)
Creates a writable (editable) map of the specified type and loads it.
bool TurnInstructionsEnabled
Enables or disables the drawing of a turn instruction notice that has been supplied using SetTurnInst...
Definition: CartoTypeWrapper.h:1706
NavigationState NavigationState
The current navigation state.
Definition: CartoTypeWrapper.h:2682
Result SetLegend(NoticePosition^ aPosition, Legend^ aLegend)
Sets the legend. If no legend object is supplied (if aLegend is null), a standard legend is created.
MapObjectList ^ CopyNearbyObjects()
Returns copies of all the objects for which nearby object warnings exist.
String^ Copyright
Returns the copyright string stored in the main map database.
Definition: CartoTypeWrapper.h:1684
void SetCopyrightNotice()
Sets the copyright notice displayed at the bottom-right corner of the map to that of the main map dat...
bool DisplayTrack
Whether the track is displayed.
Definition: CartoTypeWrapper.h:2971
Result ConvertPoint(Point^ aPoint, CoordType aFromCoordType, CoordType aToCoordType)
Converts a point between display pixels, map coordinates and degrees longitude and latitude.
Result LoadMap(String^ aMapFileName)
Loads a map to be overlaid on the current map.
Result DeleteTrafficEvent(Int64 aId)
Deletes a traffic event: a speed limit, forbidden area, or other information, referring to it by the ...
double LabelFPS
The number of frames per second used when drawing labels. Clamped to the range 1.....
Definition: CartoTypeWrapper.h:1886
Result SetViewToWholeMap()
Shows the whole map, zooming out as far as necessary.
int BuiltInRouteProfileCount
Returns the number of built-in routing profiles owned by the router.
Definition: CartoTypeWrapper.h:2571
RouteProfile ^ RouteProfile()
Returns the current route profile.
void SetCopyrightNotice(String^ aCopyright)
Sets the copyright notice displayed at the bottom-right corner of the map.
String^ DataSetName
Returns the name of the data in the main map database.
Definition: CartoTypeWrapper.h:2118
Color NightModeColor
The night mode color, which should be a dark color (although this is not enforced).
Definition: CartoTypeWrapper.h:2361
Result SetViewToRoute(int aMarginInPixels, int aMinScaleDenominator)
Sets the view to show the current route, with a margin in pixels, and at a minimum scale.
Result GetAddressFast(Address^ aAddress, MapObject^ aMapObject)
Creates an address for a map object, using attributes of the object only. Returns ErrorNotFound if th...
void Pan(int aDx, int aDy)
Moves the map by aDx pixels horizontally and aDy pixels vertically.
String ^ WriteRouteAsXmlString(CartoType::Route^ aRoute, FileType aFileType)
Writes a route as XML string in the format selected by aFileType: CartoTypeRoute or Gpx.
bool DeleteNearbyObjectWarning(int aId)
Deletes the nearby object warning or vehicle type warning with an ID of aId and returns true if any s...
Result ConvertCoords(Geometry^ aGeometry, CoordType aToCoordType)
Converts the coordinates of a geometry object to another coordinate type.
Result CreateBestRouteAsync(RouterAsyncDelegate^ aDelegate, RouteProfile^ aProfile, RouteCoordSet^ aCoordSet, bool aStartFixed, bool aEndFixed, int aIterations, bool aOverride)
An asynchronous version of CreateBestRoute.
void AppendStyleSheet(array< Byte >^ aData)
Loads an extra style sheet from data in memory. Extra style sheets are compiled after the main style ...
String^ ExpiryDate
Returns the expiry date of the license in the form YYYY-MM-DD.
Definition: CartoTypeWrapper.h:1680
NavigatorParam^ NavigatorParam
Parameters affecting the working of the navigation system.
Definition: CartoTypeWrapper.h:2686
Result LoadFont(String^ aFontFileName)
Loads a font in addition to those already loaded.
void DrawNoticesAutomatically(bool aEnable)
Controls whether notices (the scale bar, legend and copyright notice) are drawn automatically....
String ^ GeoCodeSummary(double aX, double aY, CoordType aCoordType)
Returns a string summarizing a geocode for a geographical location.
int NavigationMinimumFixDistance
Sets the minimum distance between location fixes in metres that is taken as an actual move.
Definition: CartoTypeWrapper.h:2697
static const int KMaxRoutesDisplayed
The maximum number of different routes which can be calculated using route profiles and displayed sim...
Definition: CartoTypeWrapper.h:2988
double ResolutionDpi
The display resolution used by CartoType in dots per inch. It has to be set correctly for map scaling...
Definition: CartoTypeWrapper.h:1858
Result SetRotationAt(double aAngle, double aX, double aY, CoordType aCoordType)
Sets the map's orientation to a rotation about a specified point by an absolute angle given in degree...
void SetView(MapObject^ aMapObject, int aMarginInPixels, int aMinScaleDenominator)
Sets the view to show a single map object, with a margin in pixels, and at a minimum scale.
Result InsertCircleMapObject(int aMapHandle, String^ aLayerName, double aCenterX, double aCenterY, CoordType aCenterCoordType, double aRadius, CoordType aRadiusCoordType, String^ aStringAttributes, FeatureInfo^ aFeatureInfo, Int64% aId, bool aReplace)
Inserts a circle map object into one of the maps, identifying the map by its handle....
Result ReloadStyleSheet(int aIndex)
Reloads a sheet from the file it was originally loaded from.
Framework(FrameworkParam^ aParam)
Creates a CartoType framework from parameters contained in a FrameworkParam object.
Result DeleteStyleSheet(int aIndex)
Deletes the style sheet with the specified index.
Result LoadMapAsync(LoadMapAsyncDelegate^ aDelegate, String^ aMapFileName, String^ aKey, FilePolicy aPolicy)
Asynchronously loads a map to be overlaid on the current map, supplying an optional API key or encryp...
Drawing::Bitmap ^ TileBitmap(int aTileSizeInPixels, int aZoom, int aX, int aY)
Returns a bitmap containing a tile specified by zoom, x and y coordinates using the OSM tile scheme.
Result AddLineSpeedLimit(Int64% aId, LRGeometry^ aLine, double aSpeed, int aVehicleTypes)
Adds a speed limit in kph, to be used when calculating routes, to a route defined by a series of poin...
Result AddPolygonSpeedLimit(Int64% aId, Geometry^ aPolygon, double aSpeed, int aVehicleTypes)
Adds a speed limit in kph, to be used when calculating routes, to all roads in a certain polygon.
bool FixedLabels
True if labels are drawn, as far as possible, in fixed positions, and not moved when the map is panne...
Definition: CartoTypeWrapper.h:1888
Result GetContourAreaAndLength(Geometry^ aGeometry, int aContourIndex, double% aArea, double% aLength)
Returns the area and length of a contour of a geometry object on the surface of the earth in square m...
bool ScaleBarEnabled
Enables or disables the drawing of a scale bar that has been supplied using SetScale.
Definition: CartoTypeWrapper.h:1700
Result SetStyleSheet(array< Byte >^ aData, int aIndex)
Sets a style sheet by loading it from data in memory.
Result EditInsertCurrentObject(String^ aLayer, Int64% aId, bool aReplace)
Inserts the currently edited object into a chosen layer.
Result ReadMap(int aHandle, String^ aFileName, FileType aFileType)
Reads map data from aFileName in the format given by aFileType and merge it into the map identified b...
Result SetTurnInstructions(NoticePosition^ aPosition, Legend^ aLegend, bool aAbbreviate)
Creates turn instructions with a specified width and position in the display. If aLegend is supplied,...
double ZoomLevelFromScaleDenominator(double aScaleDenominator, int aImageSizeInPixels)
Calculates the Open Street Map zoom level (0 maps the length of the equator to aImageSizeInPixels pix...
Result InsertPushPin(double aX, double aY, CoordType aCoordType, String^ aStringAttributes, String^ aColor, int aIconCharacter, Int64% aId)
Inserts a pushpin: a point object belonging to the 'pushpin' layer. The pushpin is inserted into the ...
bool AnimateTransitions
Whether transitions are smoothly animated in graphics-accelerated drawing.
Definition: CartoTypeWrapper.h:1884
String ^ SetCase(String^ aString, LetterCase aCase)
Sets the letter case of a string.
Result Find(MapObjectList^ aObjectList, FindParam^ aFindParam)
A general search function, allowing any combination of clip rectangle, choice of layers,...
String ^ TimeToString(double aTimeInSeconds)
Returns a time duration as a string containing locale-dependent words for hours, minutes and seconds.
bool TrafficInfoEnabled
Whether traffic information is used when routing.
Definition: CartoTypeWrapper.h:2949
Result FindAddress(MapObjectList^ aObjectList, int aMaxObjectCount, Address^ aAddress, bool aFuzzy)
Finds objects matching the specified address, which must have at least one field that is not empty.
Result EditNewPolygonObject(double aX, double aY)
Creates a new editable polygon object starting at the specified point in display coordinates.
double EstimatedTimeToDestination
Returns the estimated time to the destination in seconds. Return zero if there is no route.
Definition: CartoTypeWrapper.h:2747
array< HeightProfilePoint^> ^ HeightProfile(Route^ aRoute, double aIntervalInMeters)
Creates a height profile for a route. If aIntervalInMeters is not positive, an interval of 100 meters...
Result UnloadMapByHandle(int aHandle)
Unloads a map, selecting it by handle. It is illegal to unload the main map database or the in-memory...
String^ TrackAsXmlString
Writes the current track to a string as XML in GPX format.
Definition: CartoTypeWrapper.h:2985
Turn^ FirstTurn
The first turn during navigation.
Definition: CartoTypeWrapper.h:2663
double Rotation
The angle of the map in degrees, measured clockwise from north-up.
Definition: CartoTypeWrapper.h:1907
Result WriteMapImage(String^ aFileName, FileType aFileType, bool aCompress)
Writes a map image to a file of the specified type. Only the PNG file type is supported....
Result Zoom(double aZoomFactor)
Zooms the map by the specified factor: positive to zoom in, negative to zoom out.
void EndTracking()
Stops tracking (storing and displaying track points). Does not delete the current track.
double DistanceInMeters(double aX1, double aY1, double aX2, double aY2, CoordType aCoordType)
Returns the great-circle distance in meters, assuming a spherical earth, between two points.
void StartTracking()
Starts tracking (storing and displaying track points) and starts a new track segment....
Result GetMapExtent(Rect^ aExtent, CoordType aCoordType)
Returns the extent of the map in display pixels, map coordinates or degrees longitude and latitude.
BlendStyleSet^ BlendStyleSet
The blend style. To remove the current blend style, set it to null or empty.
Definition: CartoTypeWrapper.h:2367
Result AddForbiddenArea(Int64% aId, Geometry^ aPolygon)
Marks a certain polygon as forbidden for routing.
Result StartNavigation(RouteCoordSet^ aCoordSet)
Starts navigating through a series of at least two points. Call Navigate as needed to supply the vehi...
Result GetAddress(Address^ aAddress, MapObject^ aMapObject)
Creates an address for a map object.
Result AddTrafficEvent(Int64% aId, TrafficEvent^ aTrafficEvent)
Adds traffic information, such as a speed restriction, road closure, reduction in the number of lanes...
Result EditDeleteCurrentObject()
Deletes the current editable object.
String^ Framework:: VoiceInstruction
When navigating, the voice instruction to be issued, if any, after a call to Navigate.
Definition: CartoTypeWrapper.h:2684
Result ReadRouteFromXml(String^ aFileNameOrData)
Reads a route from XML (a GPX file or a CartoType route file) and displays it. This function resets t...
Result GetAreaAndLength(Geometry^ aGeometry, double% aArea, double% aLength)
Returns the area and length of a geometry object on the surface of the earth in square meters and met...
Result InsertPointMapObject(int aMapHandle, String^ aLayerName, double aX, double aY, CoordType aCoordType, String^ aStringAttributes, FeatureInfo^ aFeatureInfo, Int64% aId, bool aReplace)
Inserts a point object into one of the writable maps, identifying it by its handle....
bool Draw3DBuildings
Whether buildings are drawn in 3D where data is available.
Definition: CartoTypeWrapper.h:1880
Result GetView(Rect^ aView, CoordType aCoordType)
Returns the view rectangle in display pixels, map coordinates or degrees longitude and latitude.
Result EditDeleteCurrentPoint()
Deletes the editable object's current point unless that would result in a line object of fewer than 2...
Framework(String^ aMapFileName, String^ aStyleSheetFileName, String^ aFontFileName, int aViewWidth, int aViewHeight)
Creates a CartoType framework with a map, style sheet, font, and view size in pixels.
bool MapIsEmpty(int aHandle)
Return true if a map, identified by its handle, is known to be empty or does not exist.
double ScaleDenominatorFromZoomLevel(double aZoomLevel, int aImageSizeInPixels)
Calculates the scale denominator at the equator for a certain Open Street Map zoom level (0 maps the ...
int MemoryMapHandle
The handle of the in-memory map used for routing.
Definition: CartoTypeWrapper.h:1802
int NavigationTimeOffRouteTolerance
Sets the maximum distance from the route in metres before the vehicle is deemed off-route.
Definition: CartoTypeWrapper.h:2699
Result EditSelectNearestPoint(double aX, double aY, double aRadiusInMillimeters)
Selects an editable object by selecting the nearest point of any editable object within a given radiu...
Result EditSetCurrentObjectStringAttribute(String^ aKey, String^ aValue)
Sets a string attribute in the currently edited object. If aKey is empty, sets the label....
Result LoadMapsAutomatically(TileParam^ aParam)
Initiates automatic map loading, specifying a set of tile maps, which must be compatible with the bas...
RouterType ActualRouterType
The actual router type.
Definition: CartoTypeWrapper.h:2436
Result StartNavigation(array< double >^ aX, array< double >^ aY, CoordType aCoordType)
A version of StartNavigation taking separate arrays of X and Y coords.
Result WriteTrackAsXml(String^ aFileName)
Writes the current track to a file as XML in GPX format.
Result FindInLayer(MapObjectList^ aObjectList, int aMaxObjectCount, String^ aLayer, double aMinX, double aMinY, double aMaxX, double aMaxY, CoordType aCoordType)
Finds all objects in a named layer or list of layers (space or comma separated), within specified bou...
Result DisplayPositionOnNearestRoad(double aLong, double aLat, double aHeadingInDegrees, NearestRoadInfo^ aInfo)
Moves the route position object and the route vector object to the nearest point on a road.
Result SetViewLimits(double aMinScaleDenominator, double aMaxScaleDenominator, Geometry^ aPanArea)
Sets the limits to zooming and panning.
bool LegendEnabled
Enables or disables the drawing of a legend that has been supplied using SetLegend.
Definition: CartoTypeWrapper.h:1694
Result ReverseRoute()
Reverses the order of the current route points, recreates the route and displays it on the map....
LocationMatchParam^ LocationMatchParam
The current location match parameters.
Definition: CartoTypeWrapper.h:2695
void SetVehiclePosOffset(double aXOffset, double aYOffset)
Sets the vehicle position when navigating as an offset from the center of the display,...
Result DisplayRouteChoices(array< CartoType::Route^>^ aRouteArray)
Displays a number of route choices, using the "route/choice" layer. Deletes the current route.
Result EditGetCurrentObjectAreaAndLength(double% aArea, double% aLength)
Returns the area and length of the currently edited object. For line objects returns 0 and the length...
double LabelUpAngle
The up direction for labels as an angle in degrees measured clockwise from straight up.
Definition: CartoTypeWrapper.h:1890
void DeleteTrack()
Deletes the current track. Does not affect whether tracking is on or off.
Result LoadNavigationData()
Loads navigation data for the current map.
Result FindText(MapObjectList^ aObjectList, int aMaxObjectCount, String^ aText, StringMatchMethod aMatchMethod, String^ aLayers, String^ aAttrib)
Finds objects with attributes matching aText.
Result GetNavigationPosition(Point^ aPos, CoordType aCoordType)
Gets the current position used by the navigation system. This may be an extrapolated position.
Result Find(MapObjectGroupList^ aObjectGroupList, FindParam^ aFindParam)
A search function to make interactive searching easier. It returns map objects grouped by names which...
Result ReadMap(int aHandle, array< Byte >^ aData)
Reads map data from aData in CTMS format and merges it into the map identified by aHandle,...
Route ^ CreateRoute(Result% aResult, RouteProfile^ aProfile, RouteCoordSet^ aCoordSet)
Creates a route without starting navigation, supplying a route profile and waypoints.
Result RotateAndZoom(double aAngle, double aZoomFactor, double aX, double aY, CoordType aCoordType)
Simultaneously rotates and zooms at a certain point given in aCoordType. The rotation is in degrees.
Result EditSetWritableMap(int aMapHandle)
Sets the map used to store editable objects. Does not affect objects already created....
Result Find(MapObjectList^ aObjectList, FindNearbyParam^ aFindNearbyParam)
Finds nearby objects, allowing a choice of point of interest type, name and location.
Result SetProviderParam(String^ aKey, String^ aValue)
Sets a parameter to be used by a data provider. For example, to set the 'permanent' parameter used by...
Result LoadMap(String^ aMapFileName, String^ aKey, FilePolicy aPolicy)
Loads a map to be overlaid on the current map, supplying an optional API key or encryption key and a ...
String ^ DistanceToString(double aDistanceInMeters, bool aAbbreviate)
Returns a distance as a string containing locale-dependent words for kilometres, metres,...
bool LayerIsEnabled(String^ aLayerName)
Returns the enabled status of a named layer. When a layer is disabled it is not drawn but is still se...
void ClearTrafficInfo()
Deletes all speed restrictions, forbidden areas and other traffic information.
Result EditMoveCurrentPoint(double aX, double aY)
Moves the editable object's current point if any to the specified point in display coordinates.
Route ^ CreateRouteFromXml(Result% aResult, RouteProfile^ aProfile, String^ aFilenameOrData)
Creates a route by reading it from XML data in GPX or CartoType route format.
Result CreateWritableMap(WritableMapType aType, String^ aFileName)
Creates a writable (editable) map of the specified type, supplying a filename, and loads it.
int SetNearbyObjectWarning(int aId, String^ aLayer, String^ aCondition, double aMaxDistance, int aMaxObjectCount)
Adds or replaces a nearby object warning.
String^ TurnInstructionText
The instruction to be displayed for the current turn. This property returns an empty string if turn i...
Definition: CartoTypeWrapper.h:1719
CartoType::RouteProfile ^ BuiltInRouteProfile(int aIndex)
Returns a built-in routing profile selected by its index, or null if the index is out of range.
Result SetRouteProfile(CartoType::RouteProfile^ aProfile)
Sets the routing profile.
Result FindAddressAsync(FindAsyncDelegate^ aDelegate, int aMaxObjectCount, Address^ aAddress, bool aFuzzy, bool aOverride)
An asynchronous address finding function.
Result Resize(int aViewWidth, int aViewHeight)
Sets the map to a new size in pixels.
Result EditAddCurrentPoint()
Adds a new point to the editable object by copying the current point.
bool ClipBackgroundToMapBounds(bool aEnable)
Enables or disables clipping the map background to the map bounds.
Result DisplayRoute(bool aEnable)
If enabled, displays the current route. If not, removes the current route from the display.
Route ^ CreateRoute(Result% aResult, RouteProfile^ aProfile, array< double >^ aX, array< double >^ aY, CoordType aCoordType)
A version of CreateRoute taking separate arrays of X and Y coords.
Result InsertEnvelopeMapObject(int aMapHandle, String^ aLayerName, Geometry^ aGeometry, double aRadius, CoordType aRadiusCoordType, String^ aStringAttributes, FeatureInfo^ aFeatureInfo, Int64% aId, bool aReplace)
Inserts a map object that is an envelope around some geometry, at a radius of aRadius; it can also be...
void EnableLayer(String^ aLayerName, bool aEnable)
Enables or disables a named map layer.
Result LoadIcon(String^ aFileName, String^ aId, int aHotSpotX, int aHotSpotY, int aLabelX, int aLabelY)
Loads an icon from a file. It will be used whenever the ID aId is referenced in the style sheet,...
bool ClearNearbyObjectWarnings()
Clears all nearby object warnings, and the objects themselves, and returns true if any objects were d...
Result DeleteRoute()
Deletes the route.
void EndNavigation()
Stops navigating. Current routes remain in existence. Navigation can be resumed using startNavigation...
UpdateTrafficResult UpdateTrafficFromDatex2(String^ aXmlText)
Updates dynamic traffic information from DATEX II XML data, which must contain binary OpenLR strings.
void UnloadIcon(String^ aId)
Unloads an icon previously loaded using LoadIcon.
MapMetaData ^ MapMetaData(int aIndex)
Returns the metadata for a map, identified by its index, if available. Returns null if no metadata is...
Geometry ^ Range(RouteProfile^ aProfile, double aX, double aY, CoordType aCoordType, double aTimeOrDistance, bool aIsTime)
Returns the range: a polygon containing the area reachable within a certain time in seconds or distan...
Result SetViewCenter(double aX, double aY, CoordType aCoordType)
Sets the center of the view to a point given in display pixels, map coordinates or degrees longitude ...
Result EditSetCurrentObjectFeatureInfo(FeatureInfo^ aFeatureInfo)
Sets the feature info of the currently edited object. If aFeatureInfo is null the default feature is ...
Result SaveMap(int aHandle, String^ aFileName, FileType aFileType)
Saves a map identified by its handle by writing it the specified format. Only writable map databases ...
Result Configure(String^ aConfigFileName)
Configures the CartoType framework by reading an XML configuration file.
Turn^ ContinuationTurn
The continuation turn during navigation.
Definition: CartoTypeWrapper.h:2680
Result DeleteMapObjects(int aMapHandle, Int64 aStartId, Int64 aEndId, Int64% aDeletedCount, String^ aCondition)
Deletes map objects with IDs in the range aStartId...aEndId inclusive. If aCondition is non-null,...
Result SetRouteProfileType(CartoType::RouteProfileType aProfileType)
Sets the route profile to one of the standard types.
Result SetView(double aX1, double aY1, double aX2, double aY2, CoordType aCoordType, int aMarginInPixels, int aMinScaleDenominator)
Sets the view to show a certain rectangle, with a margin in pixels, and at a minimum scale.
bool Perspective
Perspective mode: on or off.
Definition: CartoTypeWrapper.h:1876
Result LoadFont(array< Byte >^ aData)
Loads a font from data in memory.
bool Monochrome
In monochrome mode the map is drawn using greys.
Definition: CartoTypeWrapper.h:2350
MapObject ^ LoadMapObject(int aMapHandle, Int64 aId)
Loads a map object, identifying it by its map handle and ID. Returns null if the object does not exis...
bool MetricUnits
Whether metric or non-metric units are used for distances.
Definition: CartoTypeWrapper.h:2796
int SetTileOverSizeZoomLevels(int aLevels)
The number of zoom levels by which to zoom out when creating a tile bitmap returned by TileBitmap().
PositionedBitmap ^ NoticeBitmap()
Returns a bitmap containing notices (legend and copyright notice). Turns off automatic drawing of not...
int BuiltInRouteProfileIndex()
Returns the current built-in route profile index. Returns zero if there are no built-in route profile...
String^ AppBuildDate
Returns the date on which the application was built in the form YYYY-MM-DD.
Definition: CartoTypeWrapper.h:1682
bool MutuallyAccessible(Result% aResult, array< PointValue >^ aPointArray, CoordType aCoordType, array< int >^ aGroupArray)
Determines the mutual accessibility of a set of points for routing purposes, using the current routin...
double DistanceToDestination
Returns the distance to the destination in metres. Return zero if there is no route.
Definition: CartoTypeWrapper.h:2745
int MapHandle(int aIndex)
Returns the handle of one of the currently loaded maps. Returns 0 if aIndex is out of range.
Result RotateAt(double aAngle, double aX, double aY, CoordType aCoordType)
Rotates the map about a specified point by an angle given in degrees.
Result License(String^ aKey)
Licenses the CartoType framework by supplying a key.
Result InsertEllipseMapObject(int aMapHandle, String^ aLayerName, double aCenterX, double aCenterY, CoordType aCenterCoordType, double aRadiusX, double aRadiusY, CoordType aRadiusCoordType, double aRotationDegrees, String^ aStringAttributes, FeatureInfo^ aFeatureInfo, Int64% aId, bool aReplace)
Inserts an ellipse map object into one of the maps, identifying the map by its handle....
bool NavigationEnabled
Whether navigation is enabled. When navigation is disabled, the follow modes work but no navigation i...
Definition: CartoTypeWrapper.h:2533
int MainMapHandle
The handle of the main map.
Definition: CartoTypeWrapper.h:1800
bool MapIsWritable(int aIndex)
Returns true if the indexed map is writable.Returns false if aIndex is out of range.
double ScaleDenominatorInView
The scale denominator for the current view, adjusting for any projection distortion: for example,...
Definition: CartoTypeWrapper.h:1862
Result UseRoute(Route^ aRoute)
Use an existing route and display it. This function resets the navigation state.
Result FindInDisplay(MapObjectList^ aObjectList, int aMaxObjectCount, double aX, double aY, double aRadius)
Finds all objects within aRadius of the point aX,aY on the display.
Result Navigate(int aValidity, double aTime, double aLong, double aLat, double aSpeed, double aBearing, double aHeight)
Updates the vehicle position and, if navigating, updates the navigation state.
Result AddClosedLineSpeedLimit(Int64% aId, LRGeometry^ aLine, double aSpeed, int aVehicleTypes)
Adds a speed limit in kph, to be used when calculating routes, to a polygon which is the interior of ...
Result SetBuiltInRouteProfile(int aIndex)
Selects a built-in routing profile by its index.
bool Tracking
Returns true if tracking (storing and displaying track points) is on.
Definition: CartoTypeWrapper.h:2968
double Height(double aX, double aY, CoordType aCoordType)
Returns the height in metres at a single point, or -32768 if it is unavailable.
String ^ GeoCodeSummary(MapObject^ aMapObject)
Returns a string summarizing a geocode for a map object.
Result SaveMap(int aHandle, array< Byte >^ aData, FindParam^ aFindParam)
Saves selected objects to a map identified by its handle by writing them as an array of bytes in CTMS...
Route ^ CreateBestRoute(Result% aResult, RouteProfile^ aProfile, array< double >^ aX, array< double >^ aY, CoordType aCoordType, bool aStartFixed, bool aEndFixed, int aIterations)
A version of CreateBestRoute taking separate arrays of X and Y coords.
Result WriteRouteAsXml(CartoType::Route^ aRoute, String^ aFileName, FileType aFileType)
Writes a route as XML in the format selected by aFileType: CartoTypeRoute or Gpx.
Turn^ SecondTurn
The second turn during navigation.
Definition: CartoTypeWrapper.h:2671
Result FindPointsInPath(MapObjectList^ aObjectList, Geometry^ aPath, FindParam^ aFindParam)
Finds all point objects contained in a certain path.
Result SetStyleSheet(String^ aStyleSheetFileName, int aIndex)
Sets a style sheet by loading it from a file. The index aIndex determines which style sheet to replac...
String^ Licensee
The name of the licensee. It is "no licensee: for evaluation only" if there is no licensee.
Definition: CartoTypeWrapper.h:1671
bool HasNotices
Returns true if any notices such as a scale bar, legend or copyright notice exist.
Definition: CartoTypeWrapper.h:1723
Drawing::Bitmap ^ MapBitmap()
Returns a bitmap containing the current map.
Result GetHeights(array< double >^ aX, array< double >^ aY, array< double >^ aTerrainHeightArray, CoordType aCoordType)
Finds the heights of a set of points in the specified coordinate type. Heights are returned in metres...
RouterType PreferredRouterType
The preferred type of router to be used for calculating routes.
Definition: CartoTypeWrapper.h:2422
bool NightMode
In night mode the map is shaded dark blue and roads are made brighter than other features.
Definition: CartoTypeWrapper.h:2348
void CancelAutomaticMapLoading()
Cancels automatic map loading.
void SetTurnInstructionText(String^ aText)
Sets the instruction to be displayed for the current turn, overriding automatically generated instruc...
Result ReadGpx(int aMapHandle, String^ aFileName)
Reads route and track objects from a GPX file and inserts them into the map identified by aMapHandle....
List< String^>^ LayerNames
Returns the names of all the layers in the map data.
Definition: CartoTypeWrapper.h:1854
Result SetView(MapObjectList^ aObjectList, int aMarginInPixels, int aMinScaleDenominator)
Sets the view to show a group of map objects, with a margin in pixels, and at a minimum scale.
String^ ProjectionAsProj4Param
Returns the current map projection as a proj.4 parameter string if possible. If not returns the empty...
Definition: CartoTypeWrapper.h:1948
void EnableAllMaps()
Enables all currently loaded maps.
Result CreateRouteAsync(RouterAsyncDelegate^ aDelegate, RouteProfile^ aProfile, RouteCoordSet^ aCoordSet, bool aOverride)
Creates a route asynchronously and calls aCallback (from a different thread) with the created route a...
Route ^ CreateBestRoute(Result% aResult, RouteProfile^ aProfile, RouteCoordSet^ aCoordSet, bool aStartFixed, bool aEndFixed, int aIterations)
Creates an optimized route to visit a series of waypoints in any order.
int LastMapHandle
The handle of the map most recently loaded.
Definition: CartoTypeWrapper.h:1798
Result StartNavigationDeferred(RouteCoordSet^ aCoordSet)
Starts navigating through a series of at least two points. Call Navigate as needed to supply the vehi...
int SetVehicleTypeWarning(double aMaxDistance, int aMaxObjectCount)
Adds a vehicle type warning and returns its ID. Road sections illegal for the current vehicle weight,...
Result ZoomAt(double aZoomFactor, double aX, double aY, CoordType aCoordType)
Zooms in by a specified zoom factor, or zooms out if the zoom factor is less than 1,...
double ScaleDenominator
The current scale denominator. Use the denominator 50000 for a scale of 1:50,000.
Definition: CartoTypeWrapper.h:1860
Framework(String^ aMapFileName, String^ aStyleSheetFileName, String^ aFontFileName, int aViewWidth, int aViewHeight, String^ aKey)
Creates a CartoType framework with a map, style sheet, font, view size in pixels, and API or encrypti...
Result SetScaleBar(NoticePosition^ aPosition, Legend^ aLegend)
Creates a scale bar with a specified width and position in the display. If aLegend is supplied,...
double PixelsToMeters(double aPixels)
Converts a distance in pixels to map meters (projected meters).
Result SetTurnInstructions(NoticeAnchor aAnchor, double aWidth, String^ aWidthUnit, double aTextSize, String^ aTextSizeUnit, bool aAbbreviate)
Creates standard turn instructions with a specified position and width. Optionally (if aTextSize is g...
Result InsertMapObject(int aMapHandle, String^ aLayerName, Geometry^ aGeometry, String^ aStringAttributes, FeatureInfo^ aFeatureInfo, Int64% aId, bool aReplace)
Inserts a map object into one of the writable maps. The type of the map object (point,...
String^ Locale
The locale used when getting the names of map objects when routing, geocoding, etc....
Definition: CartoTypeWrapper.h:2793
int MapCount
Returns the number of maps currently loaded, including the main map and the in-memory map.
Definition: CartoTypeWrapper.h:1781
Result EditNewLineObject(double aX, double aY)
Creates a new editable line object starting at the specified point in display coordinates.
Result Pan(double aFromX, double aFromY, CoordType aFromCoordType, double aToX, double aToY, CoordType aToCoordType)
Pans (slides) the map so that the position aFrom moves to aTo.
String ^ RouteInstructions(Route^ aRoute)
Returns instructions for a route in the language of the current locale, or in English if that languag...
Result FindAsync(FindAsyncGroupDelegate^ aDelegate, FindParam^ aFindParam, bool aOverride)
An asynchronous find function to make interactive searching easier.
Route ^ Route()
Returns the current route, or null if there is none.
Result SetView(Geometry^ aGeometry, int aMarginInPixels, int aMinScaleDenominator)
Sets the view to show a certain geometry, with a margin in pixels, and at a minimum scale.
Parameters for creating a Framework object when more detailed control is needed. For example,...
Definition: CartoTypeWrapper.h:1459
String^ StyleSheetFileName
The style sheet. If this string is null or empty, the style sheet must be supplied in m_style_sheet_t...
Definition: CartoTypeWrapper.h:1471
String^ MapFileName
The map. Must not be null or empty. It may be a filename or a URL.
Definition: CartoTypeWrapper.h:1469
String^ FontFileName
The font. If it is null or empty a small default font is used.
Definition: CartoTypeWrapper.h:1475
FilePolicy MapFilePolicy
The policy for loading and caching map files.
Definition: CartoTypeWrapper.h:1483
int ViewHeight
The height of the map in pixels. Must be greater than zero.
Definition: CartoTypeWrapper.h:1479
String^ StyleSheetText
The style sheet text. Used if m_style_sheet_filename is null or empty.
Definition: CartoTypeWrapper.h:1473
int ViewWidth
The width of the map in pixels. Must be greater than zero.
Definition: CartoTypeWrapper.h:1477
String^ Key
If non-null, and not empty, an API key or encryption key to be used when loading the map.
Definition: CartoTypeWrapper.h:1481
A geometry class for creating map objects and specifying view areas. There are also functions for the...
Definition: CartoTypeGeometry.h:221
A series of LRPoint objects.
Definition: CartoTypeWrapper.h:1192
A point used as part of an OpenLR location reference.
Definition: CartoTypeWrapper.h:1165
bool BearingKnown
True if the bearing is known.
Definition: CartoTypeWrapper.h:1180
double Latitude
Latitude in degrees.
Definition: CartoTypeWrapper.h:1172
LRFunctionalRoadClass LowestRoadClassToNextPoint
Expected lowest road class on route to next point for route validation.
Definition: CartoTypeWrapper.h:1184
double Longitude
Longitude in degrees.
Definition: CartoTypeWrapper.h:1170
LRFunctionalRoadClass FRC
Road class at position.
Definition: CartoTypeWrapper.h:1174
double DistanceToNextPoint
Expected distance in meters to the next point for route validation; a value zero or less means 'unkno...
Definition: CartoTypeWrapper.h:1182
double Bearing
Forward bearing in degrees (0...360, clockwise, 0 = north) at position.
Definition: CartoTypeWrapper.h:1178
LRFormOfWay FOW
Form of way at position.
Definition: CartoTypeWrapper.h:1176
The Legend class is used to specify legends, scales, copyright notices and turn instructions.
Definition: CartoTypeWrapper.h:3094
void SetDiagramColor(Color aDiagramColor)
Sets the color used for scale bars and height profiles.
void AddTextLine(String^ aText)
Adds a line of text, using the current font family, font size, text color and minimum line height.
void SetBorder(Color aColor, double aStrokeWidth, double aRadius, String^ aUnit)
Sets the border color and corner radius for the whole legend. Transparent border colors are allowed.
void AddTurnLine(bool aAbbreviate)
Adds a turn line, using the current font family, font size, alignment, text color and minimum line he...
void Clear()
Deletes all legend lines (map objects, text lines and scale bars).
void SetMainStyleSheet(array< Byte >^ aData)
Sets the main style sheet, replacing the style sheet copied from the Framework parameter to the Legen...
String ^ TurnInstruction()
Returns the instruction to be displayed for the current turn, overriding automatically generated inst...
Legend(Framework^ aFramework, uint32_t aStyle)
Creates a Legend object with the same fonts and style sheet as aFramework, specifying a style made fr...
void SetFontSize(double aFontSize, String^ aUnit)
Sets the font size for subsequently added lines.
void AddHeightProfileLine()
Adds a height profile line, using the current font family, font size, text color, and minimum line he...
void SetExtraStyleSheet(array< Byte >^ aData)
Sets the extra style sheet.
void SetFontFamily(String^ aFontFamily)
Sets the font family for subsequently added lines.
void SetLabelWrapWidth(double aWrapWidth, String^ aUnit)
Sets the label wrap width for subsequently added lines. Values of zero or less prevent wrapping.
Legend(Framework^ aFramework)
Creates a Legend object with the same fonts and style sheet as aFramework.
void SetMarginWidth(double aMarginWidth, String^ aUnit)
Sets the margin width for the whole legend.
void SetMinLineHeight(double aLineHeight, String^ aUnit)
Sets the minimum line height for subsequently added lines.
void AddMapObjectLine(MapObjectType aType, String^ aLayer, FeatureType aFeatureType, String^ aStringAttrib, String^ aLabel)
Adds a line containing a map object, with an optional label to the left of it.
void AddMapObjectLine(MapObjectType aType, String^ aLayer, FeatureInfo^ aFeatureInfo, String^ aStringAttrib, String^ aLabel)
Adds a line containing a map object, with an optional label to the left of it. If aFeatureInfo is nul...
void AddScaleLine()
Adds a scale bar line, using the current font family, font size, alignment, text color and minimum li...
void SetFontStyle(uint32_t aStyle)
Sets the font style for subsequently added lines. The style is made from FontStyleFlag values.
void SetPolygonRotation(double aDegrees)
Sets the amount in degrees by which rectangles drawn for polygon legend lines are rotated,...
void SetTextColor(Color aTextColor)
Sets the text color for subsequently added lines.
void SetBackgroundColor(Color aColor)
Sets the background color. Transparent colors are allowed.
void SetAlignment(Align aAlignment)
Sets the alignment for labels and scale bars.
void SetTurnInstruction(String^ aText)
Sets the instruction to be displayed for the current turn, overriding automatically generated instruc...
Parameters used when matching a road or other feature to a location.
Definition: CartoTypeWrapper.h:403
double MaxRoadDistanceInMeters
The expected maximum distance of a road from the current location. It is clamped to the range 5 ....
Definition: CartoTypeWrapper.h:422
double LocationAccuracyInMeters
The accuracy of a location fix given as a range error with 95% probability. It is clamped to the rang...
Definition: CartoTypeWrapper.h:410
double HeadingAccuracyInDegrees
The accuracy of a heading or course given as an angular error in degrees with 95% probability....
Definition: CartoTypeWrapper.h:416
Parameters used for a location reference in traffic information.
Definition: CartoTypeWrapper.h:1197
double RadiusInMeters
The radius, if this is a circle.
Definition: CartoTypeWrapper.h:1211
String^ Id
The arbitrary ID of the location reference; may be null.
Definition: CartoTypeWrapper.h:1207
LRGeometry^ Geometry
The point or points.
Definition: CartoTypeWrapper.h:1209
RoadOrientation RoadOrientation
The road orientation, if relevant.
Definition: CartoTypeWrapper.h:1215
SideOfRoad SideOfRoad
The side of the road, if relevant.
Definition: CartoTypeWrapper.h:1213
LRType Type
The type of this location reference.
Definition: CartoTypeWrapper.h:1205
LocationRef()
Creates a location reference with default values.
Metadata describing a CTM1 map file.
Definition: CartoTypeMetaData.h:96
A group of map objects with the same name, as used in a list of found objects.
Definition: CartoTypeWrapper.h:1321
MapObjectList^ MapObjectList
The list of map objects.
Definition: CartoTypeWrapper.h:1326
String^ Name
The name shared by all the map objects.
Definition: CartoTypeWrapper.h:1324
A type for lists of map object groups returned by search functions.
Definition: CartoTypeWrapper.h:1331
A map object: a point, linear object, polygon object, or array (texture).
Definition: CartoTypeWrapper.h:213
Int64 Id
The ID of the object.
Definition: CartoTypeWrapper.h:226
String ^ StringAttribute(String^ aName)
Returns a string attribute. If aName is empty this function is the same as Label.
virtual int PointCount(int aContourIndex)
Returns the number of points in a contour.
double Area
The area of the map object in square meters. Returns 0 if it is a point or a line.
Definition: CartoTypeWrapper.h:232
MapObjectType Type
The type of the object.
Definition: CartoTypeWrapper.h:228
MapObjectMatch ^ Match(String^ aText, StringMatchMethod aMatchMethod, String^ aAttributes, bool aPhrase)
Finds the first string attribute matching aText, using aMatchMethod, and returns information about it...
Rect^ BoundsInDegrees
Returns the bounding box of a map object in degrees.
Definition: CartoTypeWrapper.h:252
Rect^ Bounds
Returns the axis-aligned bounding box of a map object, in map coordinates.
Definition: CartoTypeWrapper.h:256
Point^ Center
Returns the center of a map object in map coordinates.
Definition: CartoTypeWrapper.h:241
double LengthOrPerimeter
The length or perimeter of the map object in meters. Returns 0 if it is a point.
Definition: CartoTypeWrapper.h:234
virtual PathPoint ^ Point(int aContourIndex, int aPointIndex)
Returns a point, specifying it by contour index and point index.
virtual int ContourCount()
Returns the number of contours in the path.
SortedDictionary< String^, String^> ^ StringAttributes()
Returns all the string attributes as key-value pairs; an empty key refers to the label attribute.
String^ Label
The label or name of the object.
Definition: CartoTypeWrapper.h:218
Point^ CenterInDegrees
Returns the center of a map object in degrees.
Definition: CartoTypeWrapper.h:250
String^ LayerName
The object's layer.
Definition: CartoTypeWrapper.h:230
Geometry^ GeometryInDegrees
Returns the geometry of a map object in degrees.
Definition: CartoTypeWrapper.h:254
A type for lists of map objects returned by search functions.
Definition: CartoTypeWrapper.h:1073
Information returned by MapObject.Match.
Definition: CartoTypeWrapper.h:197
int End
The end position of the matched text within the value.
Definition: CartoTypeWrapper.h:208
int Start
The start position of the matched text within the value.
Definition: CartoTypeWrapper.h:206
String^ Value
The value of the attribute in which the matched text was found.
Definition: CartoTypeWrapper.h:204
String^ Key
The name of the attribute in which the matched text was found.
Definition: CartoTypeWrapper.h:202
bool Found
True if the text was found.
Definition: CartoTypeWrapper.h:200
A class to draw a map using OpenGL ES.
Definition: CartoTypeWrapper.h:300
MapRenderer(Framework^ aFramework, IntPtr aWindowHandle)
Creates a MapRenderer object by providing a Framework and the handle of the window into which the map...
void Draw()
Draws the map using OpenGL ES.
bool Enable(bool aEnable)
Enables or disables drawing by a separate thread. Returns the previous state.
bool Valid()
Returns true if this MapRenderer is valid. If false is returned, graphics acceleration is not enabled...
Parameters governing navigation behaviour.
Definition: CartoTypeWrapper.h:1414
int RouteDistanceTolerance
Maximum distance from the route in metres before the vehicle is deemed off-route.
Definition: CartoTypeWrapper.h:1427
int MinimumFixDistance
Minimum distance between location fixes in metres that is taken as an actual move.
Definition: CartoTypeWrapper.h:1425
int RouteTimeTolerance
Maximum time off route in seconds before a new route needs to calculated.
Definition: CartoTypeWrapper.h:1429
bool NavigationEnabled
If true, and if there is a route, the position on route is updated and turn information is created wh...
Definition: CartoTypeWrapper.h:1434
Information about the nearest road to a certain point.
Definition: CartoTypeWrapper.h:1008
String^ Ref
The road reference of the road.
Definition: CartoTypeWrapper.h:1015
double HeadingVectorY
The y coordinate of the heading of the nearest segment as a unit vector.
Definition: CartoTypeWrapper.h:1027
SideOfRoad SideOfRoad
The side of the road on which the selected point lies, or SideOfRoad.None if the vehicle heading is n...
Definition: CartoTypeWrapper.h:1033
double Distance
The distance from the chosen point to the nearest point in meters.
Definition: CartoTypeWrapper.h:1021
FeatureInfo^ FeatureInfo
The feature info of the road.
Definition: CartoTypeWrapper.h:1011
double NearestPointY
The y coordinate of the nearest point on the road, in map coordinates, to the chosen point.
Definition: CartoTypeWrapper.h:1019
double HeadingVectorX
The x coordinate of the heading of the nearest segment as a unit vector.
Definition: CartoTypeWrapper.h:1025
double NearestPointX
The x coordinate of the nearest point on the road, in map coordinates, to the chosen point.
Definition: CartoTypeWrapper.h:1017
String^ Name
The standard name of the road.
Definition: CartoTypeWrapper.h:1013
double HeadingInDegrees
The heading of the nearest segment in degrees.
Definition: CartoTypeWrapper.h:1023
Information about the nearest route segment to a point.
Definition: CartoTypeWrapper.h:775
double TimeAlongRoute
The estimated time of the nearest point, along the route, in seconds.
Definition: CartoTypeWrapper.h:794
double Heading
The heading of the nearest line as a map angle taken anti-clockwise from rightwards.
Definition: CartoTypeWrapper.h:798
int LineIndex
The index of the line within the segment's path: line N goes from point N to point N + 1.
Definition: CartoTypeWrapper.h:782
double NearestPointX
The point in the segment's path nearest to the other point, in map coordinates.
Definition: CartoTypeWrapper.h:784
double TimeAlongSegment
The estimated time within the current segment, in seconds.
Definition: CartoTypeWrapper.h:796
double DistanceToRoute
The distance from the other point to iNearestPoint in meters.
Definition: CartoTypeWrapper.h:788
double DistanceAlongSegment
The distance within the current segment in meters.
Definition: CartoTypeWrapper.h:792
double NearestPointY
The point in the segment's path nearest to the other point, in map coordinates.
Definition: CartoTypeWrapper.h:786
double DistanceAlongRoute
The distance of the nearest point along the route in meters.
Definition: CartoTypeWrapper.h:790
int SegmentIndex
The index of the segment in the Route object, or -1 if there were no segments.
Definition: CartoTypeWrapper.h:780
Positions for notices like the legend or scale bar.
Definition: CartoTypeWrapper.h:1268
NoticePosition(NoticeAnchor aAnchor, double aWidth, String^ aWidthUnit)
Creates a NoticePosition from an anchor position and a width. The width is ignored if the width unit ...
NoticePosition(NoticeAnchor aAnchor, double aWidth, String^ aWidthUnit, double aXInset, String^ aXInsetUnit, double aYInset, String^ aYInsetUnit)
Creates a NoticePosition from an anchor position, width and insets.
NoticePosition(NoticeAnchor aAnchor)
Creates a NoticePosition from an anchor position.
An on-curve or off-curve point for use in paths.
Definition: CartoTypeGeometry.h:62
Parameters giving detailed control of the perspective view.
Definition: CartoTypeWrapper.h:1348
double FieldOfViewDegrees
The camera's field of view in degrees.
Definition: CartoTypeWrapper.h:1380
double HeightMeters
The height of the camera above the terrain. The value 0 causes a default value to be used which prese...
Definition: CartoTypeWrapper.h:1370
Result ReadFromXml(String^ aText)
Reads a perspective parameter object from its XML form.
String ^ ToXml()
Creates a string representing a perspective parameter object in XML.
double DeclinationDegrees
The declination of the camera downward from the horizontal plane. Values are clamped to the range -90...
Definition: CartoTypeWrapper.h:1376
double PositionDegreesY
The latitude of the position of the point on the terrain below the camera, in degrees longitude (x) a...
Definition: CartoTypeWrapper.h:1366
double RotationDegrees
The amount by which the camera is rotated about its axis, after applying the declination,...
Definition: CartoTypeWrapper.h:1378
double AzimuthDegrees
The azimuth of the camera in degrees going clockwise, where 0 is N, 90 is E, etc.
Definition: CartoTypeWrapper.h:1372
double PositionDegreesX
The longitude of the position of the point on the terrain below the camera, in degrees longitude (x) ...
Definition: CartoTypeWrapper.h:1364
bool AutoAzimuth
If true, ignore AzimuthDegrees and use the current map orientation.
Definition: CartoTypeWrapper.h:1374
bool AutoPosition
If true, ignore PositionDegreesX and PositionDegreesY, and set the camera position so that the locati...
Definition: CartoTypeWrapper.h:1368
A 2D point using floating-point coordinates.
Definition: CartoTypeGeometry.h:26
A bitmap and a position to draw it. Used when drawing notices on the map.
Definition: CartoTypeWrapper.h:1291
Drawing::Bitmap^ Bitmap
The bitmap.
Definition: CartoTypeWrapper.h:1294
int X
The X coordinate of the position at which to draw the top-left corner of the bitmap.
Definition: CartoTypeWrapper.h:1296
int Y
The Y coordinate of the position at which to draw the top-left corner of the bitmap.
Definition: CartoTypeWrapper.h:1298
A grid-aligned rectangle with double-precision coordinates suitable for map points.
Definition: CartoTypeGeometry.h:100
A set of points for creating a route, with optional heading and accuracy information.
Definition: CartoTypeWrapper.h:832
CartoType::CoordType CoordType
The coordinate type of the route points.
Definition: CartoTypeWrapper.h:840
Information about an entire route.
Definition: CartoTypeWrapper.h:900
NearestSegmentInfo ^ NearestSegment(double aX, double aY, int aSection, double aPreviousDistanceAlongRoute)
Returns information about the nearest route segment to a point given in map coordinates.
double TollRoadDistance
Returns the total distance in metres of the parts of the route that are on toll roads.
Definition: CartoTypeWrapper.h:919
virtual int PointCount(int aContourIndex)
Returns the number of points in a contour.
virtual int ContourCount()
Returns the number of contours (sub-paths).
double Distance
The distance of the route in metres.
Definition: CartoTypeWrapper.h:911
NearestSegmentInfo ^ PointAtDistance(double aDistanceInMeters)
Returns information about a point a certain distance along a route.
RouteProfile^ Profile
The profile used to create this route.
Definition: CartoTypeWrapper.h:909
RouteSegment ^ RouteSegment(int aIndex)
Returns a route segment.
NearestSegmentInfo ^ PointAtTime(double aTimeInSeconds)
Returns information about a point a certain estimated time along a route.
double Time
The estimated time taken to traverse the route in seconds.
Definition: CartoTypeWrapper.h:913
int RouteSegmentCount
The number of route segments.
Definition: CartoTypeWrapper.h:915
virtual PathPoint ^ Point(int aContourIndex, int aPointIndex)
Returns a point given its contour and point indexes.
A point on a route, with its heading and location match parameters.
Definition: CartoTypeWrapper.h:806
LocationMatchParam^ LocationMatchParam
Parameters used when matching the point to a road or other routable segment. If null,...
Definition: CartoTypeWrapper.h:817
double Y
The X coordinate.
Definition: CartoTypeWrapper.h:811
double X
The X coordinate.
Definition: CartoTypeWrapper.h:809
double Heading
The heading in degrees clockwise from north.
Definition: CartoTypeWrapper.h:813
bool HeadingKnown
True if the heading is known.
Definition: CartoTypeWrapper.h:815
A type for lists of route points: see RouteCoordSet.
Definition: CartoTypeWrapper.h:822
A routing profile: parameters determining the type of route, including road speeds,...
Definition: CartoTypeWrapper.h:568
double Length
The vehicle's length in meters. Values of zero or less mean 'unknown'.
Definition: CartoTypeWrapper.h:614
literal int PassengerFerry
The index for passenger ferries in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:732
literal int UnknownRoute
The index for unknown routes in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:764
literal int OtherRoad
The index for roads of unknown type in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:746
literal int PrimaryRoad
The index for primary roads in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:710
literal int AerialWay
The index for aerialways in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:756
int TurnTime
The estimated time in seconds taken for any turn at a junction that is not a slight turn or simply go...
Definition: CartoTypeWrapper.h:638
double TripleAxleLoad
The vehicle's triple axle load in metric tons. Values of zero or less mean 'unknown'.
Definition: CartoTypeWrapper.h:605
literal int SecondaryRoad
The index for secondary roads in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:714
bool HazMat
True if the vehicle is carrying hazardous materials.
Definition: CartoTypeWrapper.h:617
double Height
The vehicle's height in meters. Values of zero or less mean 'unknown'.
Definition: CartoTypeWrapper.h:608
literal int UnpavedRoad
The index for unpaved motorable roads in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:748
array< double > ^ Bonus
Bonuses or penalties in notional km per hour to be added to road types to make them more or less like...
Definition: CartoTypeWrapper.h:626
literal int ResidentialRoad
The index for residential roads in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:722
double AxleLoad
The vehicle's axle load in metric tons. Values of zero or less mean 'unknown'.
Definition: CartoTypeWrapper.h:599
array< double > ^ GradientSpeed
Speeds added to roads with a particular gradient.
Definition: CartoTypeWrapper.h:690
literal int Bridleway
The index for bridleways in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:742
String^ XmlString
Creates an XML string representing the route profile.
Definition: CartoTypeWrapper.h:584
RouteProfile(RouteProfileType aProfileType)
Creates a RouteProfile of one of the standard types.
literal int RouteTypeCount
The size of the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:766
static int CustomType(int aIndex)
Returns the index for a custom type 0...31 in the speed, bonus and restriction override arrays....
Definition: CartoTypeWrapper.h:582
double DoubleAxleLoad
The vehicle's double axle load in metric tons. Values of zero or less mean 'unknown'.
Definition: CartoTypeWrapper.h:602
literal int Motorway
The index for motorways in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:702
literal int Railway
The index for railways in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:750
bool Shortest
Set this flag to true to get the shortest route by distance or time, ignoring weightings....
Definition: CartoTypeWrapper.h:664
Result CopyWeights(int aSourceType, int aDestType)
Copies all weights from one route type to another. Intended to make it easier to create custom route ...
double TollPenalty
The penalty applied to toll roads as a number between zero and one.
Definition: CartoTypeWrapper.h:679
literal int SecondaryRoadLink
The index for secondary road links in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:716
literal int TrunkRoadLink
The index for trunk road links in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:708
literal int SkiNordic
The index for nordic ski trails in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:760
literal int SkiDownhill
The index for downhill ski trails in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:758
array< double > ^ GradientBonus
Bonuses applied to roads with a particular gradient.
Definition: CartoTypeWrapper.h:693
literal int VehicularFerry
The index for vehicular ferries in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:730
int CrossTrafficTurnTime
The estimated time in seconds taken for a turn across the traffic: that is, a left turn in drive-on-r...
Definition: CartoTypeWrapper.h:653
int VehicleType
Flags taken from the access flags defined in FeatureInfo indicating the vehicle type....
Definition: CartoTypeWrapper.h:593
literal int Cycleway
The index for cycleways in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:736
int TrafficLightTime
The estimated delay in seconds caused by traffic lights.
Definition: CartoTypeWrapper.h:658
literal int Footway
The index for footways in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:740
literal int TertiaryRoad
The index for tertiary roads in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:718
double Width
The vehicle's width in meters. Values of zero or less mean 'unknown'.
Definition: CartoTypeWrapper.h:611
literal int PrimaryRoadLink
The index for primary road links in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:712
Result ReadFromXmlString(String^ aString)
Reads the route profile from a string in XML format.
Result ReadFromXmlFile(String^ aFileName)
Reads the route profile from an file in XML format.
literal int Steps
The index for steps in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:744
bool ShortestByTime
Set this flag to true if Shortest should produce the shortest route by time rather than distance.
Definition: CartoTypeWrapper.h:667
literal int ServiceRoad
The index for service roads in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:726
int UTurnTime
The estimated time in seconds taken for a U-turn, defined as a turn very close to 180 degrees (within...
Definition: CartoTypeWrapper.h:644
literal int Track
The index for tracks in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:724
uint64_t GradientFlags
Flags indicating which roads are affected by gradient speeds and bonuses; normally steps,...
Definition: CartoTypeWrapper.h:699
literal int Subway
The index for subways in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:754
literal int MotorwayLink
The index for motorway link roads in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:704
literal int Waterway
The index for waterways in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:762
literal int LivingStreet
The index for living streets in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:734
literal int UnclassifiedRoad
The index for unclassified roads in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:720
literal int TrunkRoad
The index for trunk roads in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:706
literal int PedestrianRoad
The index for pedestrian roads in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:728
array< int > ^ RestrictionOverride
This array of bit masks allows restrictions to be overridden for certain types of road.
Definition: CartoTypeWrapper.h:632
double Weight
The vehicle's weight in metric tons. Values of zero or less mean 'unknown'.
Definition: CartoTypeWrapper.h:596
array< double > ^ Speed
Speeds along roads in kilometres per hour.
Definition: CartoTypeWrapper.h:620
literal int LightRail
The index for light railways in the speed, bonus and restriction override arrays.
Definition: CartoTypeWrapper.h:752
String^ Name
The optional name of the profile.
Definition: CartoTypeWrapper.h:587
Result WriteAsXmlFile(String^ aFileName)
Writes the route profile to a file in XML format.
Part of a route, consisting of a turn and the section of the route from that turn to the next one.
Definition: CartoTypeWrapper.h:850
virtual int PointCount(int aContourIndex)
Returns the number of points in a contour.
double TurnAngle
Returns the turn angle.
Definition: CartoTypeWrapper.h:874
double Distance
Returns the distance in metres.
Definition: CartoTypeWrapper.h:862
String^ Ref
The road reference.
Definition: CartoTypeWrapper.h:858
int Section
Returns the route section this segment belongs to.
Definition: CartoTypeWrapper.h:880
virtual PathPoint ^ Point(int aContourIndex, int aPointIndex)
Returns a point given its contour and point indexes.
String^ Destination
The destination.
Definition: CartoTypeWrapper.h:860
virtual int ContourCount()
Returns the number of contours (sub-paths). It is always 1 for this class.
Definition: CartoTypeWrapper.h:885
String^ Instructions
Returns turn instructions provided by the routing system. If not empty they are used instead of instr...
Definition: CartoTypeWrapper.h:882
double Time
Returns the estimated time taken to traverse the segment in seconds, including the turn time returned...
Definition: CartoTypeWrapper.h:864
double TurnTime
Returns the estimated time taken by the turn at the start of the segment; this is included in the val...
Definition: CartoTypeWrapper.h:866
int Choices
Returns the number of choices at this turning if known; 0 if not known.
Definition: CartoTypeWrapper.h:878
bool IsContinue
Returns true if this is a 'continue' turn, false if not.
Definition: CartoTypeWrapper.h:870
int ExitNumber
Returns the exit number, counting the current junction as 0, if this junction is part of a roundabout...
Definition: CartoTypeWrapper.h:876
String^ Name
Returns the standard name of the object of which this segment is a part.
Definition: CartoTypeWrapper.h:856
Parameters used in Framework.LoadMapsAutomatically.
Definition: CartoTypeWrapper.h:1641
List< TileSet^>^ TileSetList
Definition: CartoTypeWrapper.h:1644
A set of map tiles used in TileParam.
Definition: CartoTypeWrapper.h:1620
Rect^ TileRange
The inclusive range of files that are available.
Definition: CartoTypeWrapper.h:1630
String^ FileNameTemplate
A template using format specifiers from the C++ std::format function, which is used to create the fil...
Definition: CartoTypeWrapper.h:1628
int MinDisplayZoom
The minimum zoom level at which these tiles are to be drawn.
Definition: CartoTypeWrapper.h:1634
int FileZoom
The zoom level of these tiles.
Definition: CartoTypeWrapper.h:1632
int MaxDisplayZoom
The maximum zoom level at which these tiles are to be drawn.
Definition: CartoTypeWrapper.h:1636
A matrix of route times and distances between sets of points.
Definition: CartoTypeWrapper.h:1597
int Time(int aFromIndex, int aToIndex)
Returns the time in seconds taken to travel on the best route from one of the 'from' points to one of...
int FromCount
The number of 'from' points.
Definition: CartoTypeWrapper.h:1600
int ToCount
Returns the number of 'to' points.
Definition: CartoTypeWrapper.h:1602
int Distance(int aFromIndex, int aToIndex)
Returns the distance in metres along the best route from one of the 'from' points to one of the 'to' ...
Information needed when adding a traffic event.
Definition: CartoTypeWrapper.h:1220
LocationRef^ LocationRef
The location reference.
Definition: CartoTypeWrapper.h:1229
TrafficInfo^ TrafficInfo
The traffic information.
Definition: CartoTypeWrapper.h:1227
static bool CreateFromDatex2Xml(String^ aSituationRecord, TrafficEvent^ aTrafficEvent)
Creates a TrafficEvent from a DATEX II situation record in XML format.
Traffic information. This information is normally used in combination with a location reference.
Definition: CartoTypeWrapper.h:1081
literal double NoSpeedLimit
Speeds of this value or greater mean there is no speed limit.
Definition: CartoTypeWrapper.h:1086
double Speed
Permitted or expected speed in kph: NoSpeedLimit or greater means no speed limit; 0 or less means the...
Definition: CartoTypeWrapper.h:1091
int VehicleTypes
Vehicle types affected by this information, taken from the FeatureInfo literals.
Definition: CartoTypeWrapper.h:1089
Information about a turn through a junction.
Definition: CartoTypeWrapper.h:500
bool IsContinue
True if this turn is a continuation of the current road and no notification is needed.
Definition: CartoTypeWrapper.h:510
void Clear()
Clears the data from a Turn object, returning it to its newly constructed state.
RoundaboutState RoundaboutState
The roundabout state.
Definition: CartoTypeWrapper.h:512
int ExitNumber
The junction to take, counting the current junction as 0, if this junction is part of a roundabout.
Definition: CartoTypeWrapper.h:516
double Time
The estimated time to the turn in seconds.
Definition: CartoTypeWrapper.h:520
String^ FromName
The name of the road before the turn.
Definition: CartoTypeWrapper.h:522
String^ Destination
The destination of the road after the turn.
Definition: CartoTypeWrapper.h:534
String^ FromRef
The reference code (e.g., B4009) of the road before the turn.
Definition: CartoTypeWrapper.h:524
double Distance
The distance to the turn in metres.
Definition: CartoTypeWrapper.h:518
String^ Instructions
Instructions for the turn, in the current locale's language.
Definition: CartoTypeWrapper.h:536
int Index
The index of the turn, which is unique within a route. Used to avoid duplication when issuing voice i...
Definition: CartoTypeWrapper.h:538
Turn()
Creates a Turn object.
String^ ToRef
The reference code (e.g., B4009) of the road after the turn.
Definition: CartoTypeWrapper.h:530
double TurnAngle
The turn angle: 0 = straight ahead; negative = left, positive = right.
Definition: CartoTypeWrapper.h:514
FeatureInfo^ FromRouteInfo
The type of the road before the turn.
Definition: CartoTypeWrapper.h:526
String^ ToName
The name of the road after the turn.
Definition: CartoTypeWrapper.h:528
TurnType Type
The turn type: ahead, left, right, etc.
Definition: CartoTypeWrapper.h:508
FeatureInfo^ ToRouteInfo
The type of the road after the turn.
Definition: CartoTypeWrapper.h:532
General utility functions
Definition: CartoTypeWrapper.h:3206
static String ^ Version()
Returns the current CartoType version as a string of the form MAJOR.MINOR.
static double DistanceFromPoint(array< double >^ aX, array< double >^ aY, bool aIsPolygon, double aPointX, double aPointY, Point^ aNearestPoint)
Returns the distance from a line of points (if aPolygon is false) or a polygon (if aPolygon is true) ...
static String ^ SetAttribute(String^ aString, String^ aKey, String^ aValue)
Sets an attribute in a string to be used when creating a map object.
static String ^ ErrorString(Result aError)
Returns a short description of an error, given its code.
static double AzimuthInDegrees(double aLong1, double aLat1, double aLong2, double aLat2)
Returns the azimuth (direction along a great circle) in degrees from (aLong1,aLat1) to (aLong2,...
static String ^ Description()
Returns a Git description of the current CartoType version as a string of the form MAJOR....
static Point ^ PointAtAzimuth(double aLong, double aLat, double aDir, double aDistanceInMeters)
Finds the point in degrees at a certain distance and azimuth direction from a starting point....
static double SphericalPolygonArea(array< double >^ aX, array< double >^ aY)
Returns the area of a spherical polygon in square metres. The polygon is defined in degrees of latitu...
static PointValue PointInDegreesFromUKGridReference(String^ aGridReference)
Converts a UK Ordnance Survey national grid reference (two capital letters followed by an even number...
static String ^ UKGridReferenceFromDegrees(PointValue aPointInDegrees, int aDigits)
Converts a point in degrees longitude (x) and latitude (y) (WGS84) into a UK Ordnance Survey national...
static String ^ Build()
Returns the current CartoType build as a string.
static double Length(array< double >^ aX, array< double >^ aY)
Returns the length of a line, in meters, defined by points of latitude (y) and longitude (x),...
static double GreatCircleDistanceInMeters(double aLong1, double aLat1, double aLong2, double aLat2)
Returns the great-circle distance in meters between (aLong1,aLat1) and (aLong2,aLat2)....
The view state, which can be retrieved or set so that maps can be recreated.
Definition: CartoTypeWrapper.h:1385
int WidthInPixels
The display width in pixels.
Definition: CartoTypeWrapper.h:1395
int HeightInPixels
The display height in pixels.
Definition: CartoTypeWrapper.h:1397
double ScaleDenominator
The denominator of the scale fraction; e.g., 50000 for 1:50000.
Definition: CartoTypeWrapper.h:1403
String ^ ToXml()
Creates a string representing a view state in XML.
PerspectiveParam^ PerspectiveParam
The parameters to be used for perspective mode; if null, default parameters are used.
Definition: CartoTypeWrapper.h:1409
Result ReadFromXml(String^ aText)
Reads a view state from its XML form.
double ViewCenterDegreesX
The X coordinate (longitude) of the view center in map coordinates.
Definition: CartoTypeWrapper.h:1399
double RotationDegrees
The clockwise rotation of the view in degrees.
Definition: CartoTypeWrapper.h:1405
double ViewCenterDegreesY
The Y coordinate (latitude) of the view center in map coordinates.
Definition: CartoTypeWrapper.h:1401
bool Perspective
True if perspective mode is on.
Definition: CartoTypeWrapper.h:1407
A path defining a set of open and closed curves.
Definition: CartoTypeGeometry.h:132
Definition: CartoTypeWrapper.h:43
RouterType
Types of router; used when selecting a router type.
Definition: CartoTypeWrapper.h:427
@ TECH
Turn-expanded contraction hierarchy.
@ StandardAStar
The A* router, which gives fast performance but takes a lot of memory and cannot create a route going...
@ StandardContractionHierarchy
The contraction hierarchy router is intended where less RAM is available: for example with large maps...
@ Default
This router type causes the default router to be selected: the one for which serialized data is avail...
@ TurnExpandedAStar
A version of the A* router with road nodes and turn arcs; slower than StandardAStar,...
CoordType
Coordinate types.
Definition: CartoTypeGeometry.h:143
@ Degree
Longitude (X) and latitude (Y) in degrees. X increases to the east and Y increases to the north.
LetterCase
Definition: CartoTypeWrapper.h:123
@ Upper
The case of the letters 'A', 'B', 'C, etc.
@ None
A code used when the letter case is to be left as it is, or is irrelevant.
@ Lower
The case of the letters 'a', 'b', c', etc.
@ Title
The case of letters like U+01C8 'Lj' and a few others; also indicates that the first letter of each w...
Result
Result codes returned by CartoType API functions.
Definition: CartoTypeResult.h:15
StringMatchMethod
Flags and constants used when finding text.
Definition: CartoTypeWrapper.h:93
@ Loose
Loose matching: ignore non-alphanumerics and fold accents and case.
@ Exact
Strings must match exactly.
@ Fuzzy
Allow fuzzy matches: ignore non-alphanumerics, fold accents and allow imperfect matches.
@ Prefix
The search term must be an exact match or a prefix of the found string.
@ FoldCaseFlag
A flag to fold letter case.
@ FoldAccentsFlag
A flag to match accented and unaccented letters.
@ PrefixFlag
A flag to match all strings for which the search term is a perfect match or a prefix.
@ IgnoreNonAlphanumerics
Ignore all characters that are not letters or digits.
@ FuzzyFlag
A flag to allow imperfect matches with a small number of omitted, incorrect or extra characters.
@ IgnoreWhitespaceFlag
A flag to ignore whitespace when matching.
@ FoldCase
Fold case when matching strings.
@ IgnoreSymbolsFlag
A flag to ignore all characters that are not letters, digits or whitespace when matching.
LRType
The type of a location reference used for traffic information.
Definition: CartoTypeWrapper.h:1105
@ GeoCoordinate
A point on the earth's surface.
@ PointAlongLine
A point on a line in the route network.
@ Circle
A circle defined as a point and a radius.
@ ClosedLine
A closed line in the route network.
@ Line
A line in the route network.
@ Polygon
A polygon defined using a set of points.
@ PointWithAccessPoint
A point on the route network providing access to a nearby POI: the first point is the point on the li...
@ Rectangle
A rectangle aligned to the grid of latitude and longitude: it is defined using two points at opposite...
FeatureType
Every map object has a feature type.
Definition: CartoTypeFeatureInfo.h:30
TurnType
Turn types on a route. Turns at junctions are classified by dividing the full circle into 45-degree s...
Definition: CartoTypeWrapper.h:452
@ BearRight
A turn between 22.5 degrees and 67.5 degrees right or a turn through a smaller angle which is the rig...
@ SharpRight
A turn between 112.5 degrees and 180 degrees right.
@ Ahead
A turn of less than 22.5 degrees left or right, unless this is a fork with two choices,...
@ None
No turn exists or is needed. This turn type is used at the start of a route.
@ Right
A turn between 67.5 degrees and 112.5 degrees right.
@ Left
A turn between 67.5 degrees and 112.5 degrees left.
@ Around
This turn type is use for U-turns: turns back along the same road.
@ SharpLeft
A turn between 112.5 degrees and 180 degrees left.
@ BearLeft
A turn between 22.5 degrees and 67.5 degrees left. or a turn through a smaller angle which is the lef...
LRFunctionalRoadClass
Functional road classes used in OpenLR points.
Definition: CartoTypeWrapper.h:1137
public delegate void RouterAsyncDelegate(Result aResult, Route^ aRoute)
A delegate type for the asynchronous routing functions.
FilePolicy
Definition: CartoTypeWrapper.h:1439
FollowFlag
Bit flags used by the FollowMode constants.
Definition: CartoTypeWrapper.h:338
@ Heading
A flag to rotate the map to the user's heading.
@ Zoom
A flag to set the map to a suitable zoom level for the user's speed.
@ Location
A flag to make the center of the map follow the user's location.
Align
Text alignments.
Definition: CartoTypeWrapper.h:3037
@ Center
Center the text.
@ Reverse
Align to the right for left-to-right text, to the left for right-to-left text.
@ Right
Align to the right and leave space on the left.
@ Left
Align to the left and leave space on the right.
@ Standard
Align to the left for left-to-right text, to the right for right-to-left text.
public delegate void LoadMapAsyncDelegate(Result aResult, String^ aFileName, String^ aKey)
A delegate type for asynchronous map loading.
FollowMode
Flags controlling the way the map follows the user location and heading and automatically zooms.
Definition: CartoTypeWrapper.h:349
@ LocationHeading
The map is centred on the user's location and rotated to the user's heading.
@ LocationZoom
The map is centred on the user's location and zoomed to a suitable level for the user's speed.
@ None
The map does not follow the user's location or heading.
@ Location
The map is centred on the user's location.
@ LocationHeadingZoom
The map is centred on the user's location, rotated to the user's heading, and zoomed to a suitable le...
LRFormOfWay
Forms of way used in OpenLR points.
Definition: CartoTypeWrapper.h:1151
SideOfRoad
The side of the road: used in traffic information.
Definition: CartoTypeWrapper.h:999
public delegate void FindAsyncDelegate(MapObjectList^ aMapObjectList)
A delegate type for the asynchronous find function.
RoundaboutState
Turns involving roundabouts are marked as such so that exit numbers can be counted
Definition: CartoTypeWrapper.h:487
@ None
This junction does not involve a roundabout.
@ Continue
This junction continues around a roundabout.
@ Enter
This junction enters a roundabout.
@ Exit
This junction exits a roundabout.
public delegate void FindAsyncGroupDelegate(MapObjectGroupList^ aMapObjectGroupList)
A delegate type for the asynchronous find function for map object groups.
RouteProfileType
Constants used to select frequently-used profiles.
Definition: CartoTypeWrapper.h:546
@ Hike
A profile type for walking, preferring off-road paths.
@ Cycle
A profile type for cycling.
@ Walk
A profile type for walking.
@ Ski
A profile type for downhill skiing.
@ Car
A profile type for private car navigation.
FileType
File types of interest to CartoType.
Definition: CartoTypeWrapper.h:1050
@ Jpeg
JPEG (Joint Photographic Expert Group) image files.
@ Tiff
TIFF (Tagged Image File Format) image files.
@ Ctm1
CTM1 (CartoType Map Data Type 1) map data files.
@ Gpx
GPX (GPS Exchange) files.
@ Ctsql
CTSQL (CartoType SQLite format) map data files.
@ Kml
KML (Keyhole Markup Language) map data files.
@ CartoTypeRoute
CTROUTE (CartoType XML route) files.
@ Ctms
CTMS (CartoType Map Data, Serialized) map data files.
@ Png
PNG (Portable Network Graphics) image files.
NoticeAnchor
Positions for notices like the legend or scale bar. Use functions taking an NoticePosition for greate...
Definition: CartoTypeWrapper.h:1234
@ TopRight
The top right corner of the display.
@ Bottom
The center of the bottom edge of the display.
@ Center
The center of the display.
@ BottomRight
The bottom right corner of the display.
@ Right
The center of the right side of the display.
@ Left
The center of the left side of the display.
@ BottomLeft
The bottom left corner of the display.
@ Top
The center of the top edge of the display.
@ TopLeft
The top left corner of the display.
MapObjectType
An enumerated type for map objects.
Definition: CartoTypeWrapper.h:78
@ Point
A point in two-dimensional space.
@ Array
Information arranged as an array of values, such as an image or height data. Essentially a texture in...
@ Line
A line in two-dimensional space, consisting of one or more open contours.
@ Polygon
A polygon in two-dimensional space, consisting of one or more closed contours.
@ TypeCount
The total number of map object types. This is not an actual type.
RoadOrientation
The orientation of a path along a road: used in traffic information.
Definition: CartoTypeWrapper.h:1096
WritableMapType
Types of writable maps.
Definition: CartoTypeWrapper.h:1041
@ Memory
A writable map stored in memory.
@ SQLite
A writable map stored in an SQLite database.
NavigationState
States of the navigation system.
Definition: CartoTypeWrapper.h:380
@ NewRoute
A new route has been calculated.
@ OffRoute
The current position is off the route.
@ Departure
Navigation has started on a new route.
@ None
No route has been created, or navigation is disabled.
@ Turn
The current position is on the route and turn information is available.
@ Routing
Route calculation is in progress.
@ Arrival
The latest position is on the route and very close to the destination.
@ TurnRound
The latest position is on the route but a U-turn is needed.
@ NoPosition
There is a route but no position has been supplied.
Flags for font styles.
Definition: CartoTypeWrapper.h:1303
static constexpr uint32_t Fantasy
The bit flag used to select a 'fantasy' font.
Definition: CartoTypeWrapper.h:1314
static constexpr uint32_t Monospace
The bit flag used to select a monospace font.
Definition: CartoTypeWrapper.h:1316
static constexpr uint32_t Italic
The bit flag used to select italics.
Definition: CartoTypeWrapper.h:1308
static constexpr uint32_t Serif
The bit flag used to select a serif font.
Definition: CartoTypeWrapper.h:1310
static constexpr uint32_t Bold
The bit flag used to select bold face.
Definition: CartoTypeWrapper.h:1306
static constexpr uint32_t Cursive
The bit flag used to select a cursive font.
Definition: CartoTypeWrapper.h:1312
Flags used to create Legend objects with standard styles.
Definition: CartoTypeWrapper.h:3052
static constexpr uint32_t ScaleBar
A style flag to add a scale bar.
Definition: CartoTypeWrapper.h:3061
static constexpr uint32_t TurnStyle
Style flags used in the constructor to create an empty legend object suitable for turn instructions....
Definition: CartoTypeWrapper.h:3070
static constexpr uint32_t StandardStyle
Style flags to select the standard style.
Definition: CartoTypeWrapper.h:3065
static constexpr uint32_t ScaleStyle
Style flags used in the constructor to create an empty legend object suitable for a scale bar....
Definition: CartoTypeWrapper.h:3075
static constexpr uint32_t HeightProfile
A style flag to add a height profile for the current route.
Definition: CartoTypeWrapper.h:3063
static constexpr uint32_t EmptyStyle
Style flags to create an empty legend object.
Definition: CartoTypeWrapper.h:3077
static constexpr uint32_t Title
A style flag to add the name of the main map as a title.
Definition: CartoTypeWrapper.h:3055
static constexpr uint32_t MapObjects
A style flag to add lines for common map objects including roads, forests, parks and stations.
Definition: CartoTypeWrapper.h:3059
static constexpr uint32_t ScaleInTitle
A style flag to add the scale in the form 1:NNN to the title.
Definition: CartoTypeWrapper.h:3057
Definition: CartoTypeGeometry.h:42
The return value of the Framework function UpdateTrafficFromDatex2.
Definition: CartoTypeWrapper.h:1126
Result Error
The result code: 0 = success.
Definition: CartoTypeWrapper.h:1128
int EventsAdded
The number of events successfully added to the dynamic routing information.
Definition: CartoTypeWrapper.h:1132
int EventsRead
The number of events parsed from the XML text.
Definition: CartoTypeWrapper.h:1130
Bit flags used in Framework.Navigate to indicate which information is valid.
Definition: CartoTypeWrapper.h:364
static constexpr uint32_t Height
A flag used in Framework.Navigate to indicate that the height is valid.
Definition: CartoTypeWrapper.h:375
static constexpr uint32_t Time
A flag used in Framework.Navigate to indicate that the time is valid.
Definition: CartoTypeWrapper.h:367
static constexpr uint32_t Course
A flag used in Framework.Navigate to indicate that the course is valid.
Definition: CartoTypeWrapper.h:373
static constexpr uint32_t Position
A flag used in Framework.Navigate to indicate that the position is valid.
Definition: CartoTypeWrapper.h:369
static constexpr uint32_t Speed
A flag used in Framework.Navigate to indicate that the speed is valid.
Definition: CartoTypeWrapper.h:371