CartoType .NET API 7.8.2, 2022-03-25
for development in C#, Visual Basic and other .NET languages
CartoTypeWrapper.h
1/*
2CartoTypeWrapper.h
3Copyright (C) CartoType Ltd 2011-2022.
4See www.cartotype.com for more information.
5*/
6
7#pragma once
8
9#include "CartoTypeGeometry.h"
10#include "CartoTypeMetaData.h"
11
12using namespace System;
13using namespace System::Collections::Generic;
14
15#using "System.Drawing.dll"
16
18namespace CartoType
19{
20
41// forward declarations
42class CFramework;
43class CMapObject;
44class TCoordinateTransform;
45class TNavigatorTurn;
46class MInternetAccessor;
47class CRoute;
48class CRouteSegment;
49class TRouteProfile;
50class TNearestRoadInfo;
51class TNearestSegmentInfo;
52class CAddress;
53class CLegend;
54class CMapRenderer;
55class TRouteCoordSet;
56class TExtendedNoticePosition;
57class CTimeAndDistanceMatrix;
58
59ref class Framework;
60ref class Route;
61ref class Address;
62ref class Geometry;
63ref class Legend;
64ref class FindAsyncHelper;
65ref class FindAsyncGroupHelper;
66ref class CreateRouteAsyncHelper;
67
69public enum class Result
70 {
72 Success = 0,
73
75 ErrorNone = 0,
76
82 ErrorGeneral = 1,
83
85 ErrorNoMemory = 2,
86
93
100
107
114 ErrorNotFound = 6,
115
123
130
138 ErrorIo = 9,
139
144 ErrorCorrupt = 10,
145
153
158 ErrorNoInverse = 12,
159
165
173 ErrorCancel = 14,
174
179
184
189 ErrorOverflow = 17,
190
191 // ABOLISHED: ErrorOverlap = 18,
192
197
198 // ABOLISHED: ErrorPathLengthExceeded = 20,
199
200 // ABOLISHED: ErrorMaxTurnExceeded = 21,
201
206 ErrorNoPalette = 22,
207
212 ErrorDuplicate = 23,
213
219
223 ErrorPaletteFull = 25,
224
229
233 ErrorCentralPath = 27,
234
239 ErrorNoRoute = 28,
240
245
250
255
259 ErrorNullFont = 32,
260
264 ErrorInternetIo = 33,
265
270
275
279 ErrorPngRead = 36,
280
284 ErrorJpgRead = 37,
285
290
294 ErrorInterrupt = 39,
295
301
304
307
310
313
316
319
322
325
327 ErrorInfoMessage = 49,
328
331
334
336 ErrorNoFramework = 52,
337
340
343
345 ErrorPngWrite = 55,
346
349
351 ErrorProj4 = 57,
352
354 ErrorUnlicensed = 58,
355
358
361
364
367
369 ErrorMapNotFound = 63,
370
373
376
379
386 ErrorXmlRangeStart = 0x10000000,
387
389 ErrorXmlRangeEnd = 0x2AFFFFFF,
390
395 ErrorSQLite = 0x30000000
396 };
397
399public enum class MapObjectType
400 {
402 Point,
404 Line,
406 Polygon,
408 Array,
411 };
412
414public enum class StringMatchMethod
415 {
417 PrefixFlag = 1,
421 FoldAccentsFlag = 4,
423 FuzzyFlag = 8,
425 FoldCaseFlag = 16,
428
430 Exact = 0,
441 };
442
444public enum class LetterCase
445 {
447 None,
449 Lower,
451 Upper,
456 Title
457 };
458
460public enum class PointOfInterestType
461 {
463 None,
465 Airport,
467 Bar,
469 Beach,
473 Cafe,
475 Camping,
477 FastFood,
479 Fuel,
483 Hospital,
485 Hotel,
487 Pharmacy,
489 Police,
493 Shops,
501 Tourism,
504 };
505
507public ref class FindNearbyParam
508 {
509 public:
513 String^ m_text;
516 };
517
519public ref class FindParam
520 {
521 public:
522 FindParam() { }
524 FindParam(FindNearbyParam^ aFindNearbyParam);
525
527 int m_max_object_count = 0x7FFFFFFF;
529 Geometry^ m_clip = nullptr;
533 String^ m_layers = nullptr;
540 String^ m_attributes = nullptr;
545 String^ m_text = nullptr;
552 String^ m_condition;
554 bool m_merge = true;
559 double m_timeout = 0.5;
560 };
561
563public ref class MapObject: public Path
564 {
565 public:
566 ~MapObject();
567
569 String^ GetLabel();
573 String^ GetStringAttribute(String^ aName);
575 SortedDictionary<String^,String^>^ GetStringAttributes();
577 Int64 GetId();
581 String^ GetLayerName();
583 double GetArea();
608
610 ref class Match
611 {
612 public:
614 String^ m_key;
616 String^ m_value;
620 int m_end;
621 };
622
632 Result GetMatch(Match^ aMatch,String^ aText,StringMatchMethod aMatchMethod,String^ aAttributes,bool aPhrase);
634 virtual int ContourCount();
636 virtual int PointCount(int aContourIndex);
638 virtual void GetPoint(int aContourIndex,int aPointIndex,PathPoint^ aPoint);
639
640 internal:
641 MapObject(CMapObject* aMapObject);
642
643 protected:
644 !MapObject();
645
646 internal:
647 CMapObject* m_map_object;
648 };
649
664public ref class MapRenderer
665 {
666 public:
675 MapRenderer(Framework^ aFramework,IntPtr aWindowHandle);
676 ~MapRenderer();
678 void Draw();
680 bool Valid();
691 bool Enable(bool aEnable);
692
693 protected:
694 !MapRenderer();
695
696 internal:
697 Framework^ m_framework;
698 CMapRenderer* m_map_renderer = nullptr;
699 };
700
702public enum class FollowFlag
703 {
705 Location = 1,
707 Heading = 2,
709 Zoom = 4
710 };
711
713public enum class FollowMode
714 {
716 None = 0,
725 };
726
728public enum class ValidityFlag
729 {
731 Time = 1,
733 Position = 2,
735 Speed = 4,
737 Course = 8,
739 Height = 16
740 };
741
743public enum class NavigationState
744 {
746 None,
750 Turn,
752 OffRoute,
761 TurnRound,
763 Arrival
764 };
765
767public ref class LocationMatchParam
768 {
769 public:
788 };
789
791public enum class RouterType
792 {
794 Default,
805 TECH
806 };
807
816public enum class TurnType
817 {
819 None,
824 Ahead,
829 BearRight,
831 Right,
835 Around,
837 SharpLeft,
839 Left,
845 };
846
851public enum class RoundaboutState
852 {
854 None,
856 Enter,
858 Continue,
860 Exit
861 };
862
864public ref class Turn
865 {
866 public:
870 void Clear();
871
873 String^ TurnCommand();
874
888 double m_time;
890 String^ m_from_name;
892 String^ m_from_ref;
894 String^ m_to_name;
896 String^ m_to_ref;
899
900 internal:
901 void Set(const TNavigatorTurn& aTurn);
902 };
903
905public enum class RouteProfileType
906 {
908 Car,
910 Walk,
911 Walking = Walk,
913 Cycle,
914 Bicycle = Cycle,
916 Hike,
917 Hiking = Hike
918 };
919
925public ref class RouteProfile
926 {
927 public:
928 RouteProfile();
932 Result ReadFromXmlFile(String^ aFileName);
934 Result ReadFromXmlString(String^ aString);
936 Result WriteAsXmlFile(String^ aFileName);
939
941 literal int AccessMask = 0x7FF00000;
943 literal int WrongWayFlag = 0x00100000;
945 literal int BicycleAccessFlag = 0x0020000;
947 literal int MotorCycleAccessFlag = 0x0040000;
949 literal int CarAccessFlag = 0x0080000;
951 literal int HighOccupancyAccessFlag = 0x0100000;
953 literal int LightGoodsAccessFlag = 0x02000000;
955 literal int HeavyGoodsAccessFlag = 0x04000000;
957 literal int BusAccessFlag = 0x08000000;
959 literal int TaxiAccessFlag = 0x10000000;
961 literal int PedestrianAccessFlag = 0x20000000;
963 literal int EmergencyAccessFlag = 0x40000000;
965 literal int OtherAccessFlag = 0x80000000;
976
978 literal int Motorway = 0;
980 literal int MotorwayLink = 1;
982 literal int TrunkRoad = 2;
984 literal int TrunkRoadLink = 3;
986 literal int PrimaryRoad = 4;
988 literal int PrimaryRoadLink = 5;
990 literal int SecondaryRoad = 6;
992 literal int SecondaryRoadLink = 7;
994 literal int TertiaryRoad = 8;
996 literal int UnclassifiedRoad = 9;
998 literal int ResidentialRoad = 10;
1000 literal int Track = 11;
1002 literal int ServiceRoad = 12;
1004 literal int PedestrianRoad = 13;
1006 literal int VehicularFerry = 14;
1008 literal int PassengerFerry = 15;
1010 literal int LivingStreet = 16;
1012 literal int Cycleway = 17;
1014 literal int Path = 18;
1016 literal int Footway = 19;
1018 literal int Bridleway = 20;
1020 literal int Steps = 21;
1022 literal int UnknownRoadType = 22;
1024 literal int UnpavedRoad = 23;
1026 literal int OtherRoadType0 = 24;
1028 literal int OtherRoadType1 = 25;
1030 literal int OtherRoadType2 = 26;
1032 literal int OtherRoadType3 = 27;
1034 literal int OtherRoadType4 = 28;
1036 literal int OtherRoadType5 = 29;
1038 literal int OtherRoadType6 = 30;
1040 literal int OtherRoadType7 = 31;
1042 literal int RoadTypeCount = 32;
1043
1045 literal int GradientUp0 = 0;
1047 literal int GradientUp1 = 1;
1049 literal int GradientUp2 = 2;
1051 literal int GradientUp3 = 3;
1053 literal int GradientDown0 = 4;
1055 literal int GradientDown1 = 5;
1057 literal int GradientDown2 = 6;
1059 literal int GradientDown3 = 7;
1061 literal int GradientCount = 8;
1062
1064 String^ m_name;
1065
1071
1073 double m_weight;
1074
1077
1080
1083
1085 double m_height;
1086
1088 double m_width;
1089
1091 double m_length;
1092
1094 bool m_hazmat = false;
1095
1097 array<double>^ m_speed;
1098
1103 array<double>^ m_bonus;
1104
1112
1118
1124
1133
1138
1144
1147
1159
1169 array<double>^ m_gradient_speed;
1170
1172 array<double>^ m_gradient_bonus;
1173
1179
1180 internal:
1181 void Set(const TRouteProfile& aProfile);
1182 void Get(TRouteProfile& aProfile);
1183 };
1184
1186public enum class RoadType: unsigned
1187 {
1189 RoutingMask = 0x3E,
1190
1192 RoadTypeMask = 0xFC0,
1193
1195 MajorRoadTypeMask = 0xF00,
1196
1206 RoadLevelMask = 0xF000,
1207
1209 TunnelFlag = 1,
1210
1212 BridgeFlag = 0x10000,
1213
1215 RoadLevelShift = 12,
1216
1218 RampFlag = 64,
1219
1222
1227 LowerGradeFlag = 128,
1228
1231
1234
1237
1239 SecondaryRoadType = 0x300,
1240
1242 MinorRoadType = 0x400,
1243
1245 BywayRoadType = 0x500,
1246
1248 AccessRampRoadType = 0x600,
1249
1251 ServiceRoadType = 0x700,
1252
1254 VehicularFerryRoadType = 0x800,
1255
1257 PassengerFerryRoadType = 0x900,
1258
1260 PathRoadType = 0xA00,
1261
1263 StairwayRoadType = 0xB00,
1264
1266 CyclePathRoadType = 0xC00,
1267
1269 FootPathRoadType = 0xD00,
1270
1271 OtherRoadType0 = 0xE00,
1272 OtherRoadType1 = 0xE00 | LowerGradeFlag,
1273 OtherRoadType2 = 0xE00 | LinkFlag,
1274 OtherRoadType3 = 0xE00 | LowerGradeFlag | LinkFlag,
1275 OtherRoadType4 = 0xF00,
1276 OtherRoadType5 = 0xF00 | LowerGradeFlag,
1277 OtherRoadType6 = 0xF00 | LinkFlag,
1278 OtherRoadType7 = 0xF00 | LowerGradeFlag | LinkFlag,
1279
1284 TollFlag = 2,
1285
1287 RoundaboutFlag = 4,
1288
1293 RestrictionFlag = 8,
1294
1296 OneWayForwardFlag = 16,
1297
1299 OneWayBackwardFlag = 32,
1300
1302 FirstOverRoadLevel = 0x1000,
1303
1305 FirstUnderRoadLevel = 0xF000,
1306
1308 SecondUnderRoadLevel = 0xE000,
1309
1310 /* <summary>*
1311 Access rules.
1312 These flags occupy the bits used for the OSM type in non-road layers,
1313 so may be used only where an OSM type is not used.
1314 Each flag forbids access to a certain type of vehicle.
1315 </summary> */
1316 RoadAccessMask = 0xFFFE0000,
1317
1319 BicycleRoadAccessFlag = 0x20000,
1320
1322 MotorCycleRoadAccessFlag = 0x40000,
1323
1325 MotorCarRoadAccessFlag = 0x80000,
1326
1328 HighOccupancyRoadAccessFlag = 0x100000,
1329
1331 GoodsRoadAccessFlag = 0x200000,
1332
1334 HeavyGoodsRoadAccessFlag = 0x400000,
1335
1337 BusRoadAccessFlag = 0x800000,
1338
1340 TaxiRoadAccessFlag = 0x1000000,
1341
1343 PedestrianRoadAccessFlag = 0x2000000,
1344
1346 AgriculturalRoadAccessFlag = 0x4000000,
1347
1349 ForestryRoadAccessFlag = 0x8000000,
1350
1352 EmergencyRoadAccessFlag = 0x10000000,
1353
1355 HazardousRoadAccessFlag = 0x20000000,
1356
1358 WheelChairRoadAccessFlag = 0x40000000,
1359
1361 DisabledRoadAccessFlag = 0x80000000,
1362
1363 MotorVehicleRoadAccessMask = 0xFFFE0000 & ~(PedestrianRoadAccessFlag | BicycleRoadAccessFlag | WheelChairRoadAccessFlag),
1364 PublicServiceVehicleRoadAccessMask = BusRoadAccessFlag | TaxiRoadAccessFlag,
1365
1366 // useful synonyms for road types
1368 MotorwayLink = PrimaryLimitedAccessRoadType | LinkFlag,
1370 TrunkRoadLink = PrimaryUnlimitedAccessRoadType | LinkFlag,
1373 SecondaryRoad = SecondaryRoadType,
1374 SecondaryRoadLink = SecondaryRoadType | LinkFlag,
1375 TertiaryRoad = SecondaryRoadType | LowerGradeFlag,
1376 TertiaryRoadLink = SecondaryRoadType | LowerGradeFlag | LinkFlag,
1377 UnclassifiedRoad = MinorRoadType,
1378 ResidentialRoad = MinorRoadType | LowerGradeFlag,
1379 Track = BywayRoadType,
1380 ServiceRoad = ServiceRoadType,
1381 PedestrianRoad = PathRoadType,
1382 VehicularFerry = VehicularFerryRoadType,
1383 PassengerFerry = PassengerFerryRoadType,
1384 };
1385
1387public ref class NearestSegmentInfo
1388 {
1389 public:
1391 m_segment_index(-1),
1392 m_line_index(0),
1400 m_heading(0)
1401 {
1402 }
1403
1424
1425 internal:
1426 void Set(const TNearestSegmentInfo& aInfo);
1427 };
1428
1430public ref class RoutePoint
1431 {
1432 public:
1434 double m_x = 0;
1436 double m_y = 0;
1438 double m_heading = 0;
1440 bool m_heading_known = false;
1443 };
1444
1446public ref class RoutePointList: List<RoutePoint^>
1447 {
1448 };
1449
1456public ref class RouteCoordSet
1457 {
1458 public:
1463
1464 internal:
1465 TRouteCoordSet CreateRouteCoordSet();
1466 };
1467
1469public ref class RouteSegment: public Path
1470 {
1471 public:
1475 double GetMaxSpeed();
1477 String^ GetName();
1479 String^ GetRef();
1481 double GetDistance();
1483 double GetTime();
1485 double GetTurnTime();
1500
1502 virtual int ContourCount() { return 1; }
1504 virtual int PointCount(int aContourIndex);
1506 virtual void GetPoint(int aContourIndex,int aPointIndex,PathPoint^ aPoint);
1507
1508 internal:
1509 RouteSegment(Route^ aRoute,const CRouteSegment* aSegment);
1510
1511 private:
1512 Route^ m_route; // a reference to the parent route, to keep it in existence
1513 const CRouteSegment* m_segment; // the segment: owned by m_route
1514 };
1515
1517public ref class Route: public Path
1518 {
1519 internal:
1520 Route(CRoute* aRoute);
1521 ~Route();
1522
1523 public:
1529 double GetDistance();
1531 double GetTime();
1553 NearestSegmentInfo^ GetNearestSegment(double aX,double aY,int aSection,double aPreviousDistanceAlongRoute);
1555 NearestSegmentInfo^ GetPointAtDistance(double aDistanceInMeters);
1557 NearestSegmentInfo^ GetPointAtTime(double aTimeInSeconds);
1559 virtual int ContourCount();
1561 virtual int PointCount(int aContourIndex);
1563 virtual void GetPoint(int aContourIndex,int aPointIndex,PathPoint^ aPoint);
1564
1565
1566 internal:
1567 const CRoute* GetRoute() { return m_route; }
1568
1569 protected:
1570 !Route();
1571
1572 private:
1573 CRoute* m_route;
1574 };
1575
1581public ref class Address
1582 {
1583 public:
1589 String^ ToString(bool aFull);
1590
1592 String^ m_building;
1594 String^ m_feature;
1596 String^ m_street;
1600 String^ m_locality;
1602 String^ m_island;
1608 String^ m_country;
1610 String^ m_postcode;
1611
1612 internal:
1613 void Get(CAddress& aAddress);
1614 void Set(const CAddress& aAddress);
1615 };
1616
1618public enum class AddressPart
1619 {
1620 Building,
1621 Feature,
1622 Street,
1623 SubLocality,
1624 Locality,
1625 Island,
1626 SubAdminArea,
1627 AdminArea,
1628 Country,
1629 PostCode
1630 };
1631
1633public ref class NearestRoadInfo
1634 {
1635 public:
1644 String^ m_name;
1646 String^ m_ref;
1659
1660 internal:
1661 void Set(const TNearestRoadInfo& aInfo);
1662 };
1663
1665public enum class WritableMapType
1666 {
1668 Memory,
1670 SQLite
1671 };
1672
1674public enum class FileType
1675 {
1677 Png,
1679 Jpeg,
1681 Tiff,
1683 Ctm1,
1685 Ctms,
1687 Kml,
1689 Ctsql,
1693 Gpx
1694 };
1695
1697public ref class MapObjectList: List<MapObject^>
1698 {
1699 };
1700
1705public ref class TrafficInfo
1706 {
1707 public:
1708 TrafficInfo();
1709
1711 literal double NoSpeedLimit = 255;
1712
1717 };
1718
1720public enum class SideOfRoad
1721 {
1722 None,
1723 Right,
1724 Left,
1725 Both
1726 };
1727
1729public enum class RoadOrientation
1730 {
1731 None,
1732 Forwards,
1733 Backwards,
1734 Both,
1735 };
1736
1738public enum class LocationRefType
1739 {
1741 Line,
1749 Circle,
1751 Rectangle,
1753 Polygon,
1756 };
1757
1759public ref class LocationRef
1760 {
1761 public:
1764
1768 String^ m_id = nullptr;
1774 SideOfRoad m_side_of_road = SideOfRoad::None;
1776 RoadOrientation m_road_orientation = RoadOrientation::None;
1777 };
1778
1780public enum class NoticePosition
1781 {
1783 TopLeft,
1785 TopRight,
1787 BottomLeft,
1791 Top,
1793 Right,
1795 Left,
1797 Bottom,
1799 Center
1800 };
1801
1816 {
1817 public:
1821 ExtendedNoticePosition(NoticePosition aBasePosition,double aXInset,String^ aXInsetUnit,double aYInset,String^ aYInsetUnit);
1823
1824 protected:
1826
1827 internal:
1828 TExtendedNoticePosition* m_position = nullptr;
1829 };
1830
1832public ref class PositionedBitmap
1833 {
1834 public:
1836 Drawing::Bitmap^ m_bitmap = nullptr;
1838 int m_x = 0;
1840 int m_y = 0;
1841 };
1842
1844public ref class MapObjectGroup
1845 {
1846 public:
1848 String^ m_name = nullptr;
1851 };
1852
1854public ref class MapObjectGroupList: List<MapObjectGroup^>
1855 {
1856 };
1857
1859public delegate void FindAsyncDelegate(MapObjectList^);
1860
1863
1865public delegate void RouterAsyncDelegate(Result,Route^);
1866
1868public ref class PerspectiveParam
1869 {
1870 public:
1872 Result ReadFromXml(String^ aText);
1874 String^ ToXml();
1875
1881 bool m_auto_position = true;
1887 bool m_auto_azimuth = true;
1894 };
1895
1897public ref class ViewState
1898 {
1899 public:
1901 Result ReadFromXml(String^ aText);
1903 String^ ToXml();
1904
1918 bool m_perspective = false;
1921 };
1922
1924public ref class NavigatorParam
1925 {
1926 public:
1939 bool m_auto_reroute = true;
1945 };
1946
1953public ref class FrameworkParam
1954 {
1955 public:
1957
1959 String^ m_map_filename = nullptr;
1961 String^ m_style_sheet_filename = nullptr;
1963 String^ m_font_filename = nullptr;
1965 int m_view_width = 256;
1967 int m_view_height = 256;
1969 array<Byte>^ m_encryption_key = nullptr;
1985 bool m_maps_overlap = true;
1986 };
1987
1995public value class Color
1996 {
1997 public:
1999 Color(int aValue) : m_value(aValue) { }
2001 Color(int aRed,int aGreen,int aBlue)
2002 {
2003 m_value = (0xFF << 24) | ((aBlue & 0xFF) << 16) | ((aGreen & 0xFF) << 8) | (aRed & 0xFF);
2004 }
2006 Color(int aRed,int aGreen,int aBlue,int aAlpha)
2007 {
2008 m_value = ((aAlpha & 0xFF) << 24) | ((aBlue & 0xFF) << 16) | ((aGreen & 0xFF) << 8) | (aRed & 0xFF);
2009 }
2011 Color(String^ aColor);
2013 int Red() { return (m_value & 0xFF); }
2015 int Green() { return (m_value & 0xFF00) >> 8; }
2017 int Blue() { return (m_value & 0xFF0000) >> 16; }
2019 int Gray() { return ((m_value & 0xFF) + ((m_value & 0xFF00) >> 8) + ((m_value & 0xFF0000) >> 16)) / 3; }
2021 int Alpha() { return (m_value & 0xFF000000) >> 24; }
2023 bool IsNull() { return (m_value & 0xFF000000) == 0; }
2025 void SetAlpha(int aAlpha) { m_value = (aAlpha << 24) | (m_value & 0xFFFFFF); }
2026
2028 static const Color KBlack = Color(0xFF000000);
2030 static const Color KDarkGray = Color(0xFF555555);
2032 static const Color KDarkRed = Color(0xFF000080);
2034 static const Color KDarkGreen = Color(0xFF008000);
2036 static const Color KDarkYellow = Color(0xFF008080);
2038 static const Color KDarkBlue = Color(0xFF800000);
2040 static const Color KDarkMagenta = Color(0xFF800080);
2042 static const Color KDarkCyan = Color(0xFF808000);
2044 static const Color KRed = Color(0xFF0000FF);
2046 static const Color KGreen = Color(0xFF00FF00);
2048 static const Color KYellow = Color(0xFF00FFFF);
2050 static const Color KBlue = Color(0xFFFF0000);
2052 static const Color KMagenta = Color(0xFFFF00FF);
2054 static const Color KCyan = Color(0xFFFFFF00);
2056 static const Color KGray = Color(0xFFAAAAAA);
2058 static const Color KWhite = Color(0xFFFFFFFF);
2059
2061 static const Color KTransparentBlack = Color(0x00000000);
2062
2065 };
2066
2071public ref class BlendStyle
2072 {
2073 public:
2078 String^ m_styles;
2089 };
2090
2095public ref class BlendStyleSet: List<BlendStyle^>
2096 {
2097 };
2098
2101 {
2102 public:
2106 int ToCount();
2108 int Time(int aFromIndex,int aToIndex);
2110 int Distance(int aFromIndex,int aToIndex);
2111
2112 protected:
2114
2115 internal:
2116 TimeAndDistanceMatrix(CTimeAndDistanceMatrix* aMatrix);
2118
2119 CTimeAndDistanceMatrix* m_matrix = nullptr;
2120 };
2121
2131public enum class RouteAccess
2132 {
2134 Unknown,
2136 Accessible,
2141 Isolated,
2143 NoRoad
2144 };
2145
2153public ref class Framework
2154 {
2155 public:
2157 Framework(String^ aMapFileName,String^ aStyleSheetFileName,String^ aFontFileName,
2158 int aViewWidth,int aViewHeight);
2160 Framework(String^ aMapFileName,String^ aStyleSheetFileName,String^ aFontFileName,
2161 int aViewWidth,int aViewHeight,array<Byte>^ aEncryptionKey);
2164
2165 ~Framework();
2166
2168 Result License(String^ aKey);
2170 Result License(array<Byte>^ aKey);
2172 String^ Licensee();
2174 String^ ExpiryDate();
2176 String^ AppBuildDate();
2178 String^ Copyright();
2182 void SetCopyrightNotice(String^ aCopyright);
2184 void SetLegend(Legend^ aLegend,double aWidth,String^ aUnit,NoticePosition aPosition);
2186 void SetLegend(Legend^ aLegend,double aWidth,String^ aUnit,ExtendedNoticePosition^ aPosition);
2188 void EnableLegend(bool aEnable);
2190 void SetScaleBar(bool aMetricUnits,double aWidth,String^ aUnit,NoticePosition aPosition);
2192 void SetScaleBar(bool aMetricUnits,double aWidth,String^ aUnit,ExtendedNoticePosition^ aPosition);
2194 void EnableScaleBar(bool aEnable);
2196 Result SetTurnInstructions(bool aMetricUnits,bool aAbbreviate,double aWidth,String^ aWidthUnit,NoticePosition aPosition,double aTextSize,String^ aTextSizeUnit);
2198 Result SetTurnInstructions(bool aMetricUnits,bool aAbbreviate,double aWidth,String^ aWidthUnit,ExtendedNoticePosition^ aPosition,double aTextSize,String^ aTextSizeUnit);
2200 void EnableTurnInstructions(bool aEnable);
2208 void SetTurnInstructionText(String^ aText);
2215 void DrawNoticesAutomatically(bool aEnable);
2221 Result Configure(String^ aConfigFileName);
2223 Result LoadMap(String^ aMapFileName);
2225 Result LoadMap(String^ aMapFileName,array<Byte>^ aEncryptionKey);
2233 bool SetMapsOverlap(bool aEnable);
2237 Result CreateWritableMap(WritableMapType aType,String^ aFileName);
2244 Result SaveMap(int aHandle,String^ aFileName,FileType aFileType);
2251 Result ReadMap(int aHandle,String^ aFileName,FileType aFileType);
2257 Result SaveMap(int aHandle,array<Byte>^ aData,FindParam^ aFindParam);
2263 Result ReadMap(int aHandle,array<Byte>^ aData);
2269 Result WriteMapImage(String^ aFileName,FileType aFileType,bool aCompress);
2271 bool MapIsEmpty(int aHandle);
2275 int MapHandle(int aIndex);
2277 bool MapIsWritable(int aIndex);
2286 void EnableMapByHandle(int aHandle,bool aEnable);
2296 Result LoadFont(String^ aFontFileName);
2298 Result LoadFont(array<Byte>^ aData);
2304 Result SetStyleSheet(String^ aStyleSheetFileName,int aIndex);
2312 Result SetStyleSheet(array<Byte>^ aData,int aIndex);
2327 void AppendStyleSheet(String^ aStyleSheetFileName);
2332 void AppendStyleSheet(array<Byte>^ aData);
2342 void EnableLayer(String^ aLayerName,bool aEnable);
2344 bool LayerIsEnabled(String^ aLayerName);
2346 List<String^>^ LayerNames();
2348 Result Resize(int aViewWidth,int aViewHeight);
2350 void SetResolutionDpi(double aDpi);
2362 double GetDistanceInMeters(double aX1,double aY1,double aX2,double aY2,CoordType aCoordType);
2367 double ScaleDenominatorFromZoomLevel(double aZoomLevel,int aImageSizeInPixels);
2372 double ZoomLevelFromScaleDenominator(double aScaleDenominator,int aImageSizeInPixels);
2374 void SetPerspective(bool aSet);
2382 bool SetDraw3DBuildings(bool aEnable);
2386 Result Zoom(double aZoomFactor);
2388 bool SetAnimateTransitions(bool aEnable);
2401 Result ZoomAt(double aZoomFactor,double aX,double aY,CoordType aCoordType);
2403 Result Rotate(double aAngle);
2405 Result RotateAt(double aAngle,double aX,double aY,CoordType aCoordType);
2407 Result SetRotation(double aAngle);
2409 Result SetRotationAt(double aAngle,double aX,double aY,CoordType aCoordType);
2411 Result RotateAndZoom(double aAngle,double aZoomFactor,double aX,double aY,CoordType aCoordType);
2413 double Rotation();
2415 void Pan(int aDx,int aDy);
2417 Result Pan(double aFromX,double aFromY,CoordType aFromCoordType,
2418 double aToX,double aToY,CoordType aToCoordType);
2420 Result SetViewCenter(double aX,double aY,CoordType aCoordType);
2422 Result SetView(double aX1,double aY1,double aX2,double aY2,CoordType aCoordType,int aMarginInPixels,int aMinScaleDenominator);
2424 void SetView(MapObject^ aMapObject,int aMarginInPixels,int aMinScaleDenominator);
2426 Result SetView(MapObjectList^ aObjectList,int aMarginInPixels,int aMinScaleDenominator);
2428 Result SetView(Geometry^ aGeometry,int aMarginInPixels,int aMinScaleDenominator);
2432 Result SetViewToRoute(int aRouteIndex,int aMarginInPixels,int aMinScaleDenominator);
2445 Result SetViewLimits(double aMinScaleDenominator,double aMaxScaleDenominator,Geometry^ aPanArea);
2446
2448 Result GetView(Rect^ aView,CoordType aCoordType);
2450 Result GetMapExtent(Rect^ aExtent,CoordType aCoordType);
2455
2464 Result InsertMapObject(int aMapHandle,String^ aLayerName,Geometry^ aGeometry,
2465 String^ aStringAttributes,int aIntAttribute,Int64% aId,bool aReplace);
2471 Result InsertPointMapObject(int aMapHandle,String^ aLayerName,double aX,double aY,
2472 CoordType aCoordType,String^ aStringAttributes,int aIntAttribute,Int64% aId,bool aReplace);
2483 Result InsertCircleMapObject(int aMapHandle,String^ aLayerName,
2484 double aCenterX,double aCenterY,CoordType aCenterCoordType,double aRadius,CoordType aRadiusCoordType,
2485 String^ aStringAttributes,int aIntAttribute,Int64% aId,bool aReplace);
2496 Result InsertEnvelopeMapObject(int aMapHandle,String^ aLayerName,Geometry^ aGeometry,
2497 double aRadius,CoordType aRadiusCoordType,
2498 String^ aStringAttributes,int aIntAttribute,Int64% aId,bool aReplace);
2499
2519 Result InsertPushPin(double aX,double aY,CoordType aCoordType,String^ aStringAttributes,String^ aColor,int aIconCharacter,Int64% aId);
2520
2530 Result InsertCopyOfMapObject(int aMapHandle,String^ aLayerName,MapObject^ aObject,double aEnvelopeRadius,
2531 CoordType aRadiusCoordType,Int64% aId,bool aReplace);
2532
2537 Result DeleteMapObjects(int aMapHandle,Int64 aStartId,Int64 aEndId,Int64% aDeletedCount,String^ aCondition);
2542 MapObject^ LoadMapObject(int aMapHandle,Int64 aId);
2551 Result ReadGpx(int aMapHandle,String^ aFileName);
2560 Geometry^ Range(RouteProfile^ aProfile,double aX,double aY,CoordType aCoordType,double aTimeOrDistance,bool aIsTime);
2569 TimeAndDistanceMatrix^ GetTimeAndDistanceMatrix(Result% aResult,array<PointValue>^ aFrom,array<PointValue>^ aTo,CoordType aCoordType);
2574 RouteAccess GetRouteAccess(Result% aResult,double aX,double aY,CoordType aCoordType);
2582 Result GetAreaAndLength(Geometry^ aGeometry,double% aArea,double% aLength);
2590 Result GetContourAreaAndLength(Geometry^ aGeometry,int aContourIndex,double% aArea,double% aLength);
2592 Result ConvertCoords(Geometry^ aGeometry,CoordType aToCoordType);
2594 Result ConvertPoint(Point^ aPoint,CoordType aFromCoordType,CoordType aToCoordType);
2596 double PixelsToMeters(double aPixels);
2598 double MetersToPixels(double aMeters);
2600 String^ DataSetName();
2601
2609 Result EditNewLineObject(double aX,double aY);
2611 Result EditNewPolygonObject(double aX,double aY);
2613 Result EditMoveCurrentPoint(double aX,double aY);
2626 Result EditSelectNearestPoint(double aX,double aY,double aRadiusInMillimeters);
2634 Result EditInsertCurrentObject(String^ aLayer,Int64% aId,bool aReplace);
2636 Result EditSetCurrentObjectStringAttribute(String^ aKey,String^ aValue);
2644 Result EditGetCurrentObjectAreaAndLength(double% aArea,double% aLength);
2645
2647 Drawing::Bitmap^ MapBitmap();
2649 Drawing::Bitmap^ MemoryDataBaseMapBitmap();
2660
2662 Drawing::Bitmap^ TileBitmap(int aTileSizeInPixels,int aZoom,int aX,int aY);
2663
2672 bool ClipBackgroundToMapBounds(bool aEnable);
2673
2690
2691 // adding and removing style sheet icons loaded from files
2705 Result LoadIcon(String^ aFileName,String^ aId,int aHotSpotX,int aHotSpotY,int aLabelX,int aLabelY);
2707 void UnloadIcon(String^ aId);
2708
2709 // finding map objects
2719 Result FindInDisplay(MapObjectList^ aObjectList,int aMaxObjectCount,double aX,double aY,double aRadius);
2721 Result FindAddress(MapObjectList^ aObjectList,int aMaxObjectCount,Address^ aAddress,bool aFuzzy);
2733 Result FindAddressAsync(FindAsyncDelegate^ aDelegate,int aMaxObjectCount,Address^ aAddress,bool aFuzzy,bool aOverride);
2746 Result FindStreetAddresses(MapObjectList^ aObjectList,int aMaxObjectCount,Address^ aAddress,Geometry^ aClip);
2754 Result FindAddressPart(MapObjectList^ aObjectList,int aMaxObjectCount,String^ aText,AddressPart aAddressPart,bool aFuzzy,bool aIncremental);
2765 Result FindInLayer(MapObjectList^ aObjectList,int aMaxObjectCount,String^ aLayer,double aMinX,double aMinY,double aMaxX,double aMaxY,CoordType aCoordType);
2774 Result FindText(MapObjectList^ aObjectList,int aMaxObjectCount,String^ aText,StringMatchMethod aMatchMethod,String^ aLayers,String^ aAttrib);
2779 Result Find(MapObjectList^ aObjectList,FindParam^ aFindParam);
2786 Result Find(MapObjectGroupList^ aObjectGroupList,FindParam^ aFindParam);
2788 Result Find(MapObjectList^ aObjectList,FindNearbyParam^ aFindNearbyParam);
2802 Result FindAsync(FindAsyncDelegate^ aDelegate,FindParam^ aFindParam,bool aOverride);
2819 Result FindAsync(FindAsyncGroupDelegate^ aDelegate,FindParam^ aFindParam,bool aOverride);
2820
2838 Result FindPointsInPath(MapObjectList^ aObjectList,Geometry^ aPath,FindParam^ aFindParam);
2849 int GetHeight(double aX,double aY,CoordType aCoordType);
2860 Result GetHeights(array<double>^ aX,array<double>^ aY,array<int>^ aTerrainHeightArray,CoordType aCoordType);
2861
2862 // style sheet variables
2864 void SetStyleSheetVariable(String^ aVariableName,String^ aValue);
2866 void SetStyleSheetVariable(String^ aVariableName,int aValue);
2867
2868 // night mode and color blending
2870 bool SetNightMode(bool aSet);
2895
2896 // geocoding
2905 String^ GetGeoCodeSummary(MapObject^ aMapObject);
2912 Result GetAddress(Address^ aAddress,MapObject^ aMapObject);
2913
2918 Result GetAddressFast(Address^ aAddress,MapObject^ aMapObject);
2919
2928 String^ GetGeoCodeSummary(double aX,double aY,CoordType aCoordType);
2929
2936 Result GetAddress(Address^ aAddress,double aX,double aY,CoordType aCoordType);
2937
2938 // navigation
2969 Result StartNavigation(array<double>^ aX,array<double>^ aY,CoordType aCoordType);
2971 Result StartNavigation(double aStartX,double aStartY,CoordType aStartCoordType,
2972 double aEndX,double aEndY,CoordType aEndCoordType);
2974 Route^ CreateRoute(Result% aResult,RouteProfile^ aProfile,RouteCoordSet^ aCoordSet);
2982 Result CreateRouteAsync(RouterAsyncDelegate^ aDelegate,RouteProfile^ aProfile,RouteCoordSet^ aCoordSet,bool aOverride);
2984 Route^ CreateRoute(Result% aResult,RouteProfile^ aProfile,array<double>^ aX,array<double>^ aY,CoordType aCoordType);
3009 bool aStartFixed,bool aEndFixed,int aIterations);
3022 bool aStartFixed,bool aEndFixed,int aIterations,bool aOverride);
3024 Route^ CreateBestRoute(Result% aResult,RouteProfile^ aProfile,array<double>^ aX,array<double>^ aY,CoordType aCoordType,
3025 bool aStartFixed,bool aEndFixed,int aIterations);
3026
3027
3036 Route^ CreateRouteFromXml(Result% aResult,RouteProfile^ aProfile,String^ aFilenameOrData);
3037
3052 Result UseRoute(Route^ aRoute,bool aReplace);
3054 String^ GetRouteInstructions(Route^ aRoute);
3066 bool EnableNavigation(bool aEnable);
3117 RouteProfile^ Profile(int aIndex);
3164 Result ChooseRoute(int aRouteIndex);
3169 Result DisplayRoute(bool aEnable);
3173 Route^ GetRoute(int aRouteIndex);
3192 Result ReadRouteFromXml(String^ aFileNameOrData,bool aReplace);
3194 Result WriteRouteAsXml(Route^ aRoute,String^ aFileName,FileType aFileType);
3196 String^ WriteRouteAsXmlString(Route^ aRoute,FileType aFileType);
3241 Result Navigate(int aValidity,double aTime,double aLong,double aLat,double aSpeed,double aBearing,double aHeight);
3250 void GetFirstTurn(Turn^ aFirstTurn);
3258 void GetSecondTurn(Turn^ aSecondTurn);
3267 void GetContinuationTurn(Turn^ aContinuationTurn);
3300 void SetNavigationAutoReRoute(bool aAutoReRoute);
3320 int SetNearbyObjectWarning(int aId,String^ aLayer,String^ aCondition,double aMaxDistance,int aMaxObjectCount);
3336 int SetVehicleTypeWarning(double aMaxDistance,int aMaxObjectCount);
3356 Result FindNearestRoad(NearestRoadInfo^ aInfo,double aX,double aY,CoordType aCoordType,
3357 double aHeadingInDegrees,bool aDisplayPosition);
3367 Result DisplayPositionOnNearestRoad(double aLong,double aLat,double aHeadingInDegrees,NearestRoadInfo^ aInfo);
3373 void SetVehiclePosOffset(double aXOffset,double aYOffset);
3379 void SetLocale(String^ aLocale);
3386
3392 String^ Locale();
3393
3395 String^ DistanceToString(double aDistanceInMeters,bool aMetricUnits,bool aAbbreviate);
3396
3398 String^ TimeToString(double aTimeInSeconds);
3399
3406 String^ SetCase(String^ aString,LetterCase aCase);
3407
3427 Result AddTrafficInfo(Int64% aId,TrafficInfo^ aTrafficInfo,LocationRef^ aLocationRef);
3428
3452 Result AddPolygonSpeedLimit(Int64% aId,Geometry^ aPolygon,double aSpeed,int aVehicleTypes);
3453
3481 Result AddLineSpeedLimit(Int64% aId,Geometry^ aLine,double aSpeed,int aVehicleTypes);
3482
3509 Result AddClosedLineSpeedLimit(Int64% aId,Geometry^ aLine,double aSpeed,int aVehicleTypes);
3510
3523 Result AddForbiddenArea(Int64% aId,Geometry^ aPolygon);
3524
3537
3540
3545 bool EnableTrafficInfo(bool aEnable);
3546
3553
3556
3559
3561 bool Tracking();
3562
3564 bool DisplayTrack(bool aEnable);
3565
3571
3574
3576 Result WriteTrackAsXml(String^ aFileName);
3577
3580
3582 static const int KMaxRoutesDisplayed = 16;
3583
3584 protected:
3585 !Framework();
3586
3587 internal:
3588 CFramework* GetFramework() { return m_framework; }
3589 List<FindAsyncHelper^>^ m_find_async_helper_list = gcnew List<FindAsyncHelper^>();
3590 List<FindAsyncGroupHelper^>^ m_find_async_group_helper_list = gcnew List<FindAsyncGroupHelper^>();
3591 List<CreateRouteAsyncHelper^>^ m_create_route_async_helper_list = gcnew List<CreateRouteAsyncHelper^>();
3592
3593 private:
3594 Result CreateRouteAsync(RouterAsyncDelegate^ aDelegate,bool aBest,RouteProfile^ aProfile,RouteCoordSet^ aCoordSet,
3595 bool aStartFixed,bool aEndFixed,int aIterations,bool aOverride);
3596
3597 CFramework* m_framework = nullptr;
3598 Drawing::Bitmap^ m_bitmap = nullptr;
3599 Drawing::Bitmap^ m_memory_database_bitmap = nullptr;
3600 Drawing::Bitmap^ m_tile_bitmap = nullptr;
3601 };
3602
3604public enum class Align
3605 {
3607 Center,
3609 Standard,
3611 Reverse,
3613 Left,
3615 Right
3616 };
3617
3631public ref class Legend
3632 {
3633 public:
3635 Legend(Framework^ aFramework);
3636 ~Legend();
3637
3639 void Clear();
3640
3659 Drawing::Bitmap^ CreateLegend(double aWidth,String^ aUnit,double aScaleDenominator,double aScaleDenominatorInView,BlendStyleSet^ aBlendStyleSet);
3660
3665 void AddMapObjectLine(MapObjectType aType,String^ aLayer,String^ aOsmType,int aIntAttrib,String^ aStringAttrib,String^ aLabel);
3666
3668 void AddTextLine(String^ aText);
3669
3674 void AddScaleLine(bool aMetricUnits);
3675
3680 void AddTurnLine(bool aMetricUnits,bool aAbbreviate);
3681
3689 void SetExtraStyleSheet(array<Byte>^ aData);
3690
3693
3695 void SetBorder(Color aColor,double aStrokeWidth,double aRadius,String^ aUnit);
3696
3698 void SetMarginWidth(double aMarginWidth,String^ aUnit);
3699
3701 void SetMinLineHeight(double aLineHeight,String^ aUnit);
3702
3704 void SetFontFamily(String^ aFontFamily);
3705
3707 void SetFontSize(double aFontSize,String^ aUnit);
3708
3710 void SetTextColor(Color aTextColor);
3711
3713 void SetAlignment(Align aAlignment);
3714
3715 protected:
3716 !Legend();
3717
3718 internal:
3719 CLegend* GetLegend() { return m_legend; }
3720
3721 private:
3722 CLegend* m_legend = nullptr;
3723 };
3724
3726public ref class Util abstract sealed
3727 {
3728 public:
3730 static String^ Version();
3732 static String^ Build();
3733
3735 static double GetSphericalPolygonArea(array<double>^ aX,array<double>^ aY);
3737 static double GetLength(array<double>^ aX,array<double>^ aY);
3739 static double GetGreatCircleDistanceInMeters(double aLong1,double aLat1,double aLong2,double aLat2);
3744 static double GetAzimuthInDegrees(double aLong1,double aLat1,double aLong2,double aLat2);
3746 static Point^ GetPointAtAzimuth(double aLong,double aLat,double aDir,double aDistanceInMeters);
3751 static double GetDistanceFromPoint(array<double>^ aX,array<double>^ aY,bool aIsPolygon,double aPointX,double aPointY,Point^ aNearestPoint);
3762 static String^ SetAttribute(String^ aString,String^ aKey,String^ aValue);
3777 static int IntAttribute(String^ aThreeLetterCode,int aType);
3779 static String^ ErrorString(Result aError);
3780 };
3781
3782}
A structured address. Any field may be empty or null, but at least one field should be non-empty for ...
Definition: CartoTypeWrapper.h:1582
String ^ m_postcode
The postal code.
Definition: CartoTypeWrapper.h:1610
String ^ m_feature
The name of a feature or place of interest.
Definition: CartoTypeWrapper.h:1594
String ^ ToString(bool aFull)
Gets the address as a string. If aFull is true, supplies the main administrative division (state,...
String ^ m_sub_admin_area
The subsidiary administrative area: district, parish, etc.
Definition: CartoTypeWrapper.h:1604
String ^ m_island
The island.
Definition: CartoTypeWrapper.h:1602
String ^ m_street
The street, road or other highway.
Definition: CartoTypeWrapper.h:1596
String ^ m_sub_locality
The suburb, neighborhood, quarter or other subdivision of the locality.
Definition: CartoTypeWrapper.h:1598
String ^ m_locality
The village, town or city.
Definition: CartoTypeWrapper.h:1600
String ^ m_country
The country.
Definition: CartoTypeWrapper.h:1608
String ^ m_admin_area
The administrative area: state, province, etc.
Definition: CartoTypeWrapper.h:1606
String ^ m_building
The name or number of the building.
Definition: CartoTypeWrapper.h:1592
A rule to modify a certain style or styles. The colors are blended with colors in a style,...
Definition: CartoTypeWrapper.h:2072
Color m_main_color
The color to be blended with the colors in the style.
Definition: CartoTypeWrapper.h:2080
Color m_text_glow_color
If not null, the color to be blended with text glow colors.
Definition: CartoTypeWrapper.h:2086
Color m_border_color
If not null, the color to be blended with border colors.
Definition: CartoTypeWrapper.h:2082
Color m_text_color
If not null, the color to be blended with text colors.
Definition: CartoTypeWrapper.h:2084
String ^ m_styles
A space or comma separated list of wild-card style names. The special name '[legend]' is used for the...
Definition: CartoTypeWrapper.h:2078
Color m_icon_color
If not null, the forced color for icons.
Definition: CartoTypeWrapper.h:2088
A set of rules for modifying style sheet colors, for example to add contrast, lighten or darken....
Definition: CartoTypeWrapper.h:2096
A color>
Definition: CartoTypeWrapper.h:1996
int Blue()
Returns the blue component as a value in the range 0...255.
Definition: CartoTypeWrapper.h:2017
int Green()
Returns the green component as a value in the range 0...255.
Definition: CartoTypeWrapper.h:2015
static const Color KMagenta
Opaque magenta.
Definition: CartoTypeWrapper.h:2052
static const Color KYellow
Opaque yellow.
Definition: CartoTypeWrapper.h:2048
static const Color KBlack
Opaque black.
Definition: CartoTypeWrapper.h:2028
static const Color KDarkRed
Opaque dark red.
Definition: CartoTypeWrapper.h:2032
static const Color KGray
Opaque gray.
Definition: CartoTypeWrapper.h:2056
int m_value
The color value as a 32-bit integer.
Definition: CartoTypeWrapper.h:2064
static const Color KRed
Opaque red.
Definition: CartoTypeWrapper.h:2044
static const Color KDarkCyan
Opaque dark cyan.
Definition: CartoTypeWrapper.h:2042
static const Color KTransparentBlack
The 'null color' transparent black.
Definition: CartoTypeWrapper.h:2061
Color(int aRed, int aGreen, int aBlue)
Creates a color from red, green, and blue values.
Definition: CartoTypeWrapper.h:2001
static const Color KDarkYellow
Opaque dark yellow.
Definition: CartoTypeWrapper.h:2036
static const Color KDarkGray
Opaque dark gray.
Definition: CartoTypeWrapper.h:2030
int Alpha()
Returns the alpha (transparency) level as a value in the range 0...255: 0 = transparent,...
Definition: CartoTypeWrapper.h:2021
Color(int aValue)
Creates a color from an integer value.
Definition: CartoTypeWrapper.h:1999
static const Color KGreen
Opaque green.
Definition: CartoTypeWrapper.h:2046
static const Color KWhite
Opaque white.
Definition: CartoTypeWrapper.h:2058
static const Color KBlue
Opaque blue.
Definition: CartoTypeWrapper.h:2050
int Red()
Returns the red component as a value in the range 0...255.
Definition: CartoTypeWrapper.h:2013
int Gray()
Returns the gray level (average of red, green and blue levels) as a value in the range 0....
Definition: CartoTypeWrapper.h:2019
static const Color KDarkGreen
Opaque dark green.
Definition: CartoTypeWrapper.h:2034
static const Color KDarkBlue
Opaque dark blue.
Definition: CartoTypeWrapper.h:2038
static const Color KCyan
Opaque cyan.
Definition: CartoTypeWrapper.h:2054
Color(String^ aColor)
Creates a color from a string. For the format of the string see the documentation on CartoType style ...
static const Color KDarkMagenta
Opaque dark magenta.
Definition: CartoTypeWrapper.h:2040
bool IsNull()
Returns true if the colour is null.
Definition: CartoTypeWrapper.h:2023
Color(int aRed, int aGreen, int aBlue, int aAlpha)
Creates a color from red, green, blue and alpha values.
Definition: CartoTypeWrapper.h:2006
void SetAlpha(int aAlpha)
Sets the alpha (transparency) level to a value in the range 0...255: 0 = transparent,...
Definition: CartoTypeWrapper.h:2025
Positions for notices like the legend or scale bar.
Definition: CartoTypeWrapper.h:1816
ExtendedNoticePosition(NoticePosition aBasePosition)
Creates an ExtendedNoticePosition from a base position.
ExtendedNoticePosition(NoticePosition aBasePosition, double aXInset, String^ aXInsetUnit, double aYInset, String^ aYInsetUnit)
Creates an ExtendedNoticePosition from a base position, insets, and units in which the insets are def...
Parameters for finding nearby places.
Definition: CartoTypeWrapper.h:508
Geometry ^ m_location
The location of interest.
Definition: CartoTypeWrapper.h:515
String ^ m_text
The name, full or partial, of the place.
Definition: CartoTypeWrapper.h:513
PointOfInterestType m_type
The type of place to search for. The value None causes iName to be analyzed to narrow the search.
Definition: CartoTypeWrapper.h:511
Parameters for the general Find function.
Definition: CartoTypeWrapper.h:520
Geometry ^ m_location
The current location. If it is non-empty, objects in or near this region are preferred....
Definition: CartoTypeWrapper.h:531
String ^ m_layers
A list of layer names separated by spaces or commas. If it is null or empty all layers are searched....
Definition: CartoTypeWrapper.h:533
String ^ m_attributes
Attributes used in text searching (if m_text is not empty). If m_attributes is empty,...
Definition: CartoTypeWrapper.h:540
bool m_merge
If m_merge is true (the default), adjoining objects with the same name and attributes may be merged i...
Definition: CartoTypeWrapper.h:554
double m_timeout
Definition: CartoTypeWrapper.h:559
Geometry ^ m_clip
The clip path; no clipping is done if m_clip is null or empty.
Definition: CartoTypeWrapper.h:529
int m_max_object_count
The maximum number of objects to return; default = INT32_MAX.
Definition: CartoTypeWrapper.h:527
StringMatchMethod m_string_match_method
The string matching method used for text searching; default = StringMatchExact.
Definition: CartoTypeWrapper.h:547
FindParam(FindNearbyParam^ aFindNearbyParam)
Creates a FindParam object from find-nearby parameters.
String ^ m_condition
Unless null or empty, a style sheet condition (e.g., "Type==2") which must be fulfilled by all the ob...
Definition: CartoTypeWrapper.h:552
String ^ m_text
The text to search for. Unless null or empty, restricts the search to objects containing m_text in on...
Definition: CartoTypeWrapper.h:545
The Framework class provides a high-level API for CartoType, through which map data can be loaded,...
Definition: CartoTypeWrapper.h:2154
String ^ Locale()
Returns the locale used when getting the names of map objects when routing, geocoding,...
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.
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.
void EnableTurnInstructions(bool aEnable)
Enables or disables the drawing of a turn instruction notice that has been supplied using SetTurnInst...
Framework(String^ aMapFileName, String^ aStyleSheetFileName, String^ aFontFileName, int aViewWidth, int aViewHeight, array< Byte >^ aEncryptionKey)
Creates a CartoType framework with an encrypted map, style sheet, font, and view size in pixels.
void SetResolutionDpi(double aDpi)
Sets the display resolution used by CartoType in dots per inch. It has to be set correctly for map sc...
double MetersToPixels(double aMeters)
Converts a distance in map meters (projected meters) to pixels.
int BuiltInProfileCount()
Returns the number of built-in routing profiles owned by the router.
void EnableScaleBar(bool aEnable)
Enables or disables the drawing of a scale bar that has been supplied using SetScale.
NavigationState GetNavigationState()
Gets the current navigation state.
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.
bool Draw3DBuildings()
Returns true if buildings are drawn in 3D where data is available.
ViewState ^ GetViewState()
Gets the current view state. This state can be saved, then restored using the overload of SetView whi...
Result FindPolygonsContainingPath(MapObjectList^ aObjectList, Geometry^ aPath, FindParam^ aFindParam)
Finds all polygon objects containing a certain path.
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...
int GetHeight(double aX, double aY, CoordType aCoordType)
Returns the height in metres at a single point, or -32768 if it is unavailable.
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 HasNotices()
Returns true if any notices such as a scale bar, legend or copyright notice exist.
MapObjectList ^ CopyNearbyObjects()
Returns copies of all the objects for which nearby object warnings exist.
MapMetaData ^ GetMapMetaData(int aIndex)
Returns the metadata for a map, identified by its index, if available. Returns null if no metadata is...
void SetCopyrightNotice()
Sets the copyright notice displayed at the bottom-right corner of the map to that of the main map dat...
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 SetViewToWholeMap()
Shows the whole map, zooming out as far as necessary.
void SetCopyrightNotice(String^ aCopyright)
Sets the copyright notice displayed at the bottom-right corner of the map.
double DistanceToDestination()
Returns the distance to the destination in metres. Return zero if there is no route.
Color SetNightModeColor(Color aColor)
Sets the night mode color, which should be a dark color (although this is not enforced),...
int MapCount()
Returns the number of maps currently loaded, including the main map and the in-memory map.
String ^ GetRouteInstructions(Route^ aRoute)
Gets instructions for a route in the language of the current locale, or in English if that language i...
void UseSerializedNavigationData(bool aEnable)
Enables or disables the use of serialized navigation data, which is loaded at high speed from the mai...
Result GetAddress(Address^ aAddress, double aX, double aY, CoordType aCoordType)
Creates an address for a point in the map.
RouteAccess GetRouteAccess(Result% aResult, double aX, double aY, CoordType aCoordType)
Returns the accessibility of a point for routing purposes. A point is defined as accessible if it is ...
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.
bool DeleteNearbyObjectWarning(int aId)
Deletes the nearby object warning or vehicle type warning with an ID of aId and returns true if any s...
Drawing::Bitmap ^ MemoryDataBaseMapBitmap()
Gets a bitmap containing a map drawn using objects from the in-memory database only,...
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 ...
Result ChooseRoute(int aRouteIndex)
Chooses one among a set of alternative routes.
BlendStyleSet ^ SetBlendStyle(BlendStyleSet^ aBlendStyleSet)
Sets a blend style, or, if aBlendStyleSet is null or empty, removes the current blend style.
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 ^ DataSetName()
Returns the name of the data in the main map database.
bool SetNightMode(bool aSet)
Sets night mode and returns the previous setting. In night mode the map is shaded dark blue and roads...
bool DisplayTrack(bool aEnable)
Enables or disables displaying the track. Returns the previous state.
FollowMode GetFollowMode()
Returns the follow mode, which controls the way the map tracks the user location and heading.
static const int KMaxRoutesDisplayed
The maximum number of different routes which can be calculated using route profiles and displayed sim...
Definition: CartoTypeWrapper.h:3582
int GetMainMapHandle()
Gets the handle of the main map.
Color NightModeColor(Color aColor)
Returns the current night mode color.
void SetLegend(Legend^ aLegend, double aWidth, String^ aUnit, ExtendedNoticePosition^ aPosition)
Sets the legend: map key or scale or both.
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 ReloadStyleSheet(int aIndex)
Reloads a sheet from the file it was originally loaded from.
void GetSecondTurn(Turn^ aSecondTurn)
Gets the second turn during navigation.
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 SetScaleDenominatorInView(double aScale)
Sets the scale denominator for the current view, adjusting for any projection distortion: for example...
double GetScaleDenominatorInView()
Returns the current scale denominator in the center of the current view, adjusting for any projection...
Drawing::Bitmap ^ TileBitmap(int aTileSizeInPixels, int aZoom, int aX, int aY)
Gets a bitmap containing a tile specified by zoom, x and y coordinates using the OSM tile scheme.
void SetPerspective(PerspectiveParam^ aParam)
Turns perspective mode on and uses the supplied perspective parameters, or default parameters if aPar...
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.
String ^ ExpiryDate()
Returns the expiry date of the license in the form YYYY-MM-DD.
double ScaleDenominator()
Returns the current scale denominator.
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...
Result SetStyleSheet(array< Byte >^ aData, int aIndex)
Sets a style sheet by loading it from data in memory.
String ^ GetGeoCodeSummary(double aX, double aY, CoordType aCoordType)
Gets a string summarizing a geocode for a geographical location.
double Rotation()
Returns the current rotation of the map in degrees.
void SetLegend(Legend^ aLegend, double aWidth, String^ aUnit, NoticePosition aPosition)
Sets the legend: map key or scale or both.
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 License(array< Byte >^ aKey)
Licenses the CartoType framework by supplying a key.
Result InsertEnvelopeMapObject(int aMapHandle, String^ aLayerName, Geometry^ aGeometry, double aRadius, CoordType aRadiusCoordType, String^ aStringAttributes, int aIntAttribute, 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 SetPreferredRouterType(RouterType aRouterType)
Sets the preferred type of router to be used for calculating routes.
Result SetViewToRoute(int aRouteIndex, int aMarginInPixels, int aMinScaleDenominator)
Sets the view to show a route selected by its index (0 for the main route), with a margin in pixels,...
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 ...
Result WriteRouteAsXml(Route^ aRoute, String^ aFileName, FileType aFileType)
Writes a route as XML in the format selected by aFileType: CartoTypeRoute or Gpx.
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.
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.
bool NavigationEnabled()
Returns true if navigation is enabled, false otherwise.
Result UnloadMapByHandle(int aHandle)
Unloads a map, selecting it by handle. It is illegal to unload the main map database or the in-memory...
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....
TimeAndDistanceMatrix ^ GetTimeAndDistanceMatrix(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 Zoom(double aZoomFactor)
Zooms the map by the specified factor: positive to zoom in, negative to zoom out.
String ^ Licensee()
Returns the name of the licensee. Returns "no licensee: for evaluation only" if there is no licensee.
void EndTracking()
Stops tracking (storing and displaying track points). Does not delete the current track.
List< String^> ^ LayerNames()
Returns the names of all the layers in the map data.
RouteProfile ^ BuiltInProfile(int aIndex)
Returns a built-in routing profile selected by its index, or null if the index is out of range.
void EnableLegend(bool aEnable)
Enables or disables the drawing of a legend that has been supplied using SetLegend.
double EstimatedTimeToDestination()
Returns the estimated time to the destination in seconds. Return zero if there is no route.
void StartTracking()
Starts tracking (storing and displaying track points) and starts a new track segment....
Result GetMapExtent(Rect^ aExtent, CoordType aCoordType)
Gets the extent of the map in display pixels, map coordinates or degrees longitude and latitude.
RouteProfile ^ Profile(int aIndex)
Returns one of the active route profiles, or null if the index is out of range. The index 0 always wo...
Result DeleteRoutes()
Deletes all routes.
bool NightMode()
Returns true if night mode is set.
Result AddForbiddenArea(Int64% aId, Geometry^ aPolygon)
Marks a certain polygon as forbidden for routing.
void SetNavigationTimeOffRouteTolerance(int aSeconds)
Sets the maximum distance from the route in metres before the vehicle is deemed off-route.
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 EditDeleteCurrentObject()
Deletes the current editable object.
String ^ TurnInstructionText()
Gets the instruction to be displayed for the current turn. This function returns an empty string if t...
void SetNavigationDistanceOffRouteTolerance(int aMeters)
Sets the maximum time off route in seconds before a new route is calculated.
double TrackLengthInMeters()
Returns the length fo the current track in meters.
Result SetMainProfile(RouteProfile^ aProfile)
Sets the main routing profile.
Result AddTrafficInfo(Int64% aId, TrafficInfo^ aTrafficInfo, LocationRef^ aLocationRef)
Adds traffic information, such as a speed restriction, prohibition on the use of a route,...
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...
void SetScaleBar(bool aMetricUnits, double aWidth, String^ aUnit, ExtendedNoticePosition^ aPosition)
Creates a scale bar in either metric or imperial units, with a specified width and position in the di...
Result GetView(Rect^ aView, CoordType aCoordType)
Gets 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...
bool Perspective()
Returns true if perspective mode is on.
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.
LocationMatchParam ^ GetLocationMatchParam()
Gets the current location match parameters.
Result LoadMap(String^ aMapFileName, array< Byte >^ aEncryptionKey)
Loads an encrypted map to be overlaid on the current map.
double ScaleDenominatorFromZoomLevel(double aZoomLevel, int aImageSizeInPixels)
Calculates the scale denominator at the equator for a certain Open Street Map zoom level (0 maps the ...
Result DeleteTrafficInfo(Int64 aId)
Deletes traffic information: a speed limit, forbidden area, or other information, referring to it by ...
void SetPerspective(bool aSet)
Turns perspective mode on or off.
Result SetBuiltInProfile(int aIndex)
Selects a built-in routing profile by its index.
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....
String ^ WriteTrackAsXmlString()
Writes the current track to a string as XML in GPX format.
PositionedBitmap ^ GetNoticeBitmap()
Gets a bitmap containing notices (legend and copyright notice). Turns off automatic drawing of notice...
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.
void SetVehiclePosOffset(double aXOffset, double aYOffset)
Sets the vehicle position when navigating as an offset from the center of the display,...
void GetContinuationTurn(Turn^ aContinuationTurn)
Gets the continuation turn during navigation.
double GetDistanceInMeters(double aX1, double aY1, double aX2, double aY2, CoordType aCoordType)
Gets the great-circle distance in meters, assuming a spherical earth, between two points.
Result EditGetCurrentObjectAreaAndLength(double% aArea, double% aLength)
Returns the area and length of the currently edited object. For line objects returns 0 and the length...
Result InsertCircleMapObject(int aMapHandle, String^ aLayerName, double aCenterX, double aCenterY, CoordType aCenterCoordType, double aRadius, CoordType aRadiusCoordType, String^ aStringAttributes, int aIntAttribute, Int64% aId, bool aReplace)
Inserts a circle map object into one of the maps, identifying it by its handle.
void DeleteTrack()
Deletes the current track. Does not affect whether tracking is on or off.
Result SetRotation(double aAngle)
Sets the map to an angle given in degrees, measured clockwise from north-up.
int GetRouteCount()
Gets the number of routes. Returns 0 if not navigating.
Result LoadNavigationData()
Loads navigation data for the current map.
Result EditSetCurrentObjectIntAttribute(int aValue)
Sets the integer attribute of the currently edited object.
bool SetAnimateTransitions(bool aEnable)
Enables or disables smoothly animated transitions in graphics-accelerated drawing....
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,...
Result SetFollowMode(FollowMode aFollowMode)
Sets the follow mode, which controls the way the map tracks the user location and heading.
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.
bool EnableNavigation(bool aEnable)
Enables or disables navigation. When navigation is disabled, the follow modes work but no navigation ...
Result EditSetWritableMap(int aMapHandle)
Sets the map used to store editable objects. Does not affect objects already created....
RouterType ActualRouterType()
Returns the actual router type.
Result Find(MapObjectList^ aObjectList, FindNearbyParam^ aFindNearbyParam)
Finds nearby objects, allowing a choice of point of interest type, name and location.
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...
String ^ GetProjectionAsProj4Param()
Gets the current map projection as a proj.4 parameter string if possible. If not returns the empty st...
Result InsertMapObject(int aMapHandle, String^ aLayerName, Geometry^ aGeometry, String^ aStringAttributes, int aIntAttribute, Int64% aId, bool aReplace)
Inserts a map object into one of the writable maps. The type of the map object (point,...
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.
void GetFirstTurn(Turn^ aFirstTurn)
Gets the first turn during navigation.
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.
void SetLocationMatchParam(LocationMatchParam^ aParam)
Sets the current location match parameters.
Geometry ^ GetTrack()
Returns the current track as a geometry object with coordinates in degrees. Each segment of the track...
BlendStyleSet ^ GetBlendStyleSet()
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 FindAddressPart(MapObjectList^ aObjectList, int aMaxObjectCount, String^ aText, AddressPart aAddressPart, bool aFuzzy, bool aIncremental)
Finds part of an address used in a CAddress object, using the same search rules used for finding an e...
Result ReverseRoutes()
Reverses the order of the current route points, recreates the route or routes, and displays them on t...
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 aEnable is true, displays the current route and a maximum of 2 alternative routes....
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.
void SetNavigationAutoReRoute(bool aAutoReRoute)
Turns auto-re-routing in navigation on or off.
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...
void SetScaleBar(bool aMetricUnits, double aWidth, String^ aUnit, NoticePosition aPosition)
Creates a scale bar in either metric or imperial units, with a specified width and position in the di...
void EndNavigation()
Stops navigating. Current routes remain in existence. Navigation can be resumed using startNavigation...
NavigatorParam ^ GetNavigatorParam()
Gets the current parameters affecting the working of the navigation system.
void UnloadIcon(String^ aId)
Unloads an icon previously loaded using LoadIcon.
Result SetView(ViewState^ aViewState)
Sets the view to a view state, which specifies the display size, view rectangle, rotation and whether...
Result FindBuildingsNearStreet(MapObjectList^ aObjectList, MapObject^ aStreet)
Finds all the buildings near the map object aStreet, which must be a linear object.
bool SetDraw3DBuildings(bool aEnable)
Enables or disables the drawing of 3D buildings where data is available. Returns the previous enabled...
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 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.
Result UseRoute(Route^ aRoute, bool aReplace)
Use an existing route and display it.
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,...
String ^ AppBuildDate()
Returns the date on which the application was built in the form YYYY-MM-DD.
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.
Route ^ GetRoute(int aRouteIndex)
Gets one of the current routes. Returns null if not navigating.
Result LoadFont(array< Byte >^ aData)
Loads a font from data in memory.
PerspectiveParam ^ GetPerspectiveParam()
Returns the current perspective parameters.
void SetStyleSheetVariable(String^ aVariableName, int aValue)
Sets a style sheet variable to an integer value.
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...
int SetTileOverSizeZoomLevels(int aLevels)
Sets the number of zoom levels by which to zoom out when creating a tile bitmap returned by TileBitma...
Result SetScaleDenominator(double aScale)
Sets the scale denominator: for example, use the denominator 50000 for a scale of 1:50,...
Result InsertPointMapObject(int aMapHandle, String^ aLayerName, double aX, double aY, CoordType aCoordType, String^ aStringAttributes, int aIntAttribute, Int64% aId, bool aReplace)
Inserts a point object into one of the writable maps, identifying it by its handle....
RouterType PreferredRouterType()
Returns the preferred type of router to be used for calculating routes.
Result AddProfile(RouteProfile^ aProfile)
Adds a new routing profile.
int GetMemoryMapHandle()
Gets the handle of the in-memory map used for routing.
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 AddLineSpeedLimit(Int64% aId, Geometry^ 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...
String ^ WriteRouteAsXmlString(Route^ aRoute, FileType aFileType)
Writes a route as XML string in the format selected by aFileType: CartoTypeRoute or Gpx.
bool SetMapsOverlap(bool aEnable)
Determines whether newly loaded maps are allowed to overlap.
bool MapIsWritable(int aIndex)
Returns true if the indexed map is writable.Returns false if aIndex is out of range.
Result AddClosedLineSpeedLimit(Int64% aId, Geometry^ 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 ...
void SetLocale(String^ aLocale)
Sets the locale used when getting the names of map objects when routing, geocoding,...
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.
String ^ Copyright()
Returns the copyright string stored in the main map database.
Result FindStreetAddresses(MapObjectList^ aObjectList, int aMaxObjectCount, Address^ aAddress, Geometry^ aClip)
Finds all street addresses matching the supplied parameters.
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...
Result SetTurnInstructions(bool aMetricUnits, bool aAbbreviate, double aWidth, String^ aWidthUnit, NoticePosition aPosition, double aTextSize, String^ aTextSizeUnit)
Creates turn instructions in either metric or imperial units, with a specified width and position in ...
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.
void SetNavigatorParam(NavigatorParam^ aParam)
Sets parameters affecting the working of the navigation system. Does nothing if aParam is null.
String ^ GetGeoCodeSummary(MapObject^ aMapObject)
Gets a string summarizing a geocode for a map object.
Result FindPointsInPath(MapObjectList^ aObjectList, Geometry^ aPath, FindParam^ aFindParam)
Finds all point objects contained in a certain path.
int GetLastMapHandle()
Gets the handle of the map most recently loaded.
bool EnableTrafficInfo(bool aEnable)
Enables or disables the use of traffic information when routing. Returns the previous state.
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...
Result GetHeights(array< double >^ aX, array< double >^ aY, array< int >^ aTerrainHeightArray, CoordType aCoordType)
Finds the heights of a set of points in the specified coordinate type. Heights are returned in metres...
Result ReadRouteFromXml(String^ aFileNameOrData, bool aReplace)
Reads a route from XML (a GPX file or a CartoType route file) and displays it.
String ^ DistanceToString(double aDistanceInMeters, bool aMetricUnits, bool aAbbreviate)
Returns a distance as a string containing locale-dependent words for kilometres, metres,...
Drawing::Bitmap ^ MapBitmap()
Gets a bitmap containing the current map.
bool AnimateTransitions()
Returns true if transitions are smoothly animated in graphics-accelerated drawing.
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....
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.
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.
double ResolutionDpi()
Returns the display resolution used by CartoType in dots per inch.
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,...
Result SetTurnInstructions(bool aMetricUnits, bool aAbbreviate, double aWidth, String^ aWidthUnit, ExtendedNoticePosition^ aPosition, double aTextSize, String^ aTextSizeUnit)
Creates turn instructions in either metric or imperial units, with a specified width and position in ...
void SetNavigationMinimumFixDistance(int aMeters)
Sets the minimum distance between location fixes in metres that is taken as an actual move.
double PixelsToMeters(double aPixels)
Converts a distance in pixels to map meters (projected meters).
void EnableDrawingMemoryDataBase(bool aEnable)
Enables or disables the drawing of the in-memory database when the rest of the map is drawn.
bool Tracking()
Returns true if tracking (storing and displaying track points) is on.
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.
Result FindAsync(FindAsyncGroupDelegate^ aDelegate, FindParam^ aFindParam, bool aOverride)
An asynchronous find function to make interactive searching easier.
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:1954
String ^ m_font_filename
The font. Must not be null or empty.
Definition: CartoTypeWrapper.h:1963
int m_text_index_levels
The number of levels of the text index to load into RAM. Use values from 1 to 5 to save RAM but make ...
Definition: CartoTypeWrapper.h:1980
String ^ m_style_sheet_filename
The style sheet. Must not be null or empty.
Definition: CartoTypeWrapper.h:1961
int m_view_height
The height of the map in pixels. Must be greater than zero.
Definition: CartoTypeWrapper.h:1967
bool m_maps_overlap
Definition: CartoTypeWrapper.h:1985
array< Byte > ^ m_encryption_key
If non-null, an encryption key to be used when loading the map.
Definition: CartoTypeWrapper.h:1969
int m_view_width
The width of the map in pixels. Must be greater than zero.
Definition: CartoTypeWrapper.h:1965
int m_max_file_buffer_count
The maximum number of file buffers. If it is zero or less the default value is used.
Definition: CartoTypeWrapper.h:1973
String ^ m_map_filename
The map. Must not be null or empty.
Definition: CartoTypeWrapper.h:1959
int m_file_buffer_size_in_bytes
The file buffer size in bytes. If it is zero or less the default value is used.
Definition: CartoTypeWrapper.h:1971
A geometry class for creating map objects and specifying view areas. There are also functions for the...
Definition: CartoTypeGeometry.h:199
The Legend class is used to specify legends, scales, copyright notices and turn instructions.
Definition: CartoTypeWrapper.h:3632
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 AddScaleLine(bool aMetricUnits)
Adds a scale bar line, using the current font family, font size, alignment, text color and minimum li...
void Clear()
Deletes all legend lines (map objects, text lines and scale bars).
void AddMapObjectLine(MapObjectType aType, String^ aLayer, String^ aOsmType, int aIntAttrib, String^ aStringAttrib, String^ aLabel)
Adds a line containing a map object, with an optional label to the left of it. If the parameter aOsmT...
void AddTurnLine(bool aMetricUnits, bool aAbbreviate)
Adds a turn line, using the current font family, font size, alignment, text color and minimum line he...
void SetFontSize(double aFontSize, String^ aUnit)
Sets the font size for subsequently added lines.
void SetExtraStyleSheet(array< Byte >^ aData)
Sets the extra style sheet.
void SetFontFamily(String^ aFontFamily)
Sets the font family for subsequently added lines.
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.
Drawing::Bitmap ^ CreateLegend(double aWidth, String^ aUnit, double aScaleDenominator, double aScaleDenominatorInView, BlendStyleSet^ aBlendStyleSet)
Creates a legend bitmap for the current set of map objects, text lines and scale bars.
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.
Parameters used when matching a road or other feature to a location.
Definition: CartoTypeWrapper.h:768
double m_heading_accuracy_in_degrees
The accuracy of a heading or course given as an angular error in degrees with 95% probability....
Definition: CartoTypeWrapper.h:781
double m_location_accuracy_in_meters
The accuracy of a location fix given as a range error with 95% probability. It is clamped to the rang...
Definition: CartoTypeWrapper.h:775
double m_max_road_distance_in_meters
The expected maximum distance of a road from the current location. It is clamped to the range 5 ....
Definition: CartoTypeWrapper.h:787
Parameters used for a location reference when writing traffic information.
Definition: CartoTypeWrapper.h:1760
LocationRef(LocationRefType aType, CoordType aCoordType)
Creates a location reference of a given type and coordinate type.
RoadOrientation m_road_orientation
The road orientation, if relevant.
Definition: CartoTypeWrapper.h:1776
SideOfRoad m_side_of_road
The side of the road, if relevant.
Definition: CartoTypeWrapper.h:1774
double m_radius_in_meters
The radius, if this is a circle.
Definition: CartoTypeWrapper.h:1772
Geometry ^ m_geometry
The point or points.
Definition: CartoTypeWrapper.h:1770
LocationRefType m_type
The type of this location reference.
Definition: CartoTypeWrapper.h:1766
String ^ m_id
The arbitrary ID of the location reference; may be null.
Definition: CartoTypeWrapper.h:1768
Metadata describing a CTM1 map file.
Definition: CartoTypeMetaData.h:91
Information returned by GetMatch.
Definition: CartoTypeWrapper.h:611
int m_start
The start position of the matched text within the value.
Definition: CartoTypeWrapper.h:618
String ^ m_key
The name of the attribute in which the matched text was found.
Definition: CartoTypeWrapper.h:614
int m_end
The end position of the matched text within the value.
Definition: CartoTypeWrapper.h:620
String ^ m_value
The value of the attribute in which the matched text was found.
Definition: CartoTypeWrapper.h:616
A group of map objects with the same name, as used in a list of found objects.
Definition: CartoTypeWrapper.h:1845
MapObjectList ^ m_map_object_list
The list of map objects.
Definition: CartoTypeWrapper.h:1850
String ^ m_name
The name shared by all the map objects.
Definition: CartoTypeWrapper.h:1848
A type for lists of map object groups returned by search functions.
Definition: CartoTypeWrapper.h:1855
A map object: a point, linear object, polygon object, or array (texture).
Definition: CartoTypeWrapper.h:564
virtual int PointCount(int aContourIndex)
Gets the number of points in a contour.
MapObjectType GetType()
Gets the type of the object.
double GetLengthOrPerimeter()
Gets the length or perimeter of the map object in meters. Returns 0 if it is a point.
Result GetCenterInDegrees(Point^ aPoint)
Returns the center of a map object in degrees.
double GetArea()
Gets the area of the map object in square meters. Returns 0 if it is a point or a line.
String ^ GetLayerName()
Gets the name of the object's layer.
virtual int ContourCount()
Gets the number of contours in the path.
Result GetBounds(Rect^ aRect)
Returns the axis-aligned bounding box of a map object, in map coordinates.
SortedDictionary< String^, String^> ^ GetStringAttributes()
Gets all the string attributes as key-value pairs; an empty key refers to the label attribute.
Result GetMatch(Match^ aMatch, String^ aText, StringMatchMethod aMatchMethod, String^ aAttributes, bool aPhrase)
Finds the first string attribute matching aText, using aMatchMethod, and returns information about it...
Result GetBoundsInDegrees(Rect^ aRect)
Returns the bounding box of a map object in degrees.
Result GetGeometryInDegrees(Geometry^ aGeometry)
Returns the bounding box of a map object in degrees.
Result GetCenter(Point^ aPoint)
Returns the center of a map object in map coordinates.
String ^ GetLabel()
Gets the label or name of the object.
int GetIntegerAttribute()
Gets the integer attribute of the map object.
Int64 GetId()
Gets the ID of the object.
String ^ GetStringAttribute(String^ aName)
Gets a string attribute. If aName is empty this function is the same as GetLabel.
virtual void GetPoint(int aContourIndex, int aPointIndex, PathPoint^ aPoint)
Gets a point, specifying it by contour index and point index, and places it in aPoint.
A type for lists of map objects returned by search functions.
Definition: CartoTypeWrapper.h:1698
A class to draw a map using OpenGL ES.
Definition: CartoTypeWrapper.h:665
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:1925
int m_route_distance_tolerance
Maximum distance from the route in metres before the vehicle is deemed off-route.
Definition: CartoTypeWrapper.h:1930
int m_minimum_fix_distance
Minimum distance between location fixes in metres that is taken as an actual move.
Definition: CartoTypeWrapper.h:1928
bool m_navigation_enabled
If true, and if there is a route, the position on route is updated and turn information is created,...
Definition: CartoTypeWrapper.h:1944
bool m_auto_reroute
True if route is recalculated automatically when the vehicle goes off route (the default)....
Definition: CartoTypeWrapper.h:1939
int m_route_time_tolerance
Maximum time off route in seconds before a new route needs to calculated.
Definition: CartoTypeWrapper.h:1932
Information about the nearest road to a certain point.
Definition: CartoTypeWrapper.h:1634
double m_nearest_point_y
The y coordinate of the nearest point on the road, in map coordinates, to the chosen point.
Definition: CartoTypeWrapper.h:1650
double m_heading_vector_x
The x coordinate of the heading of the nearest segment as a unit vector.
Definition: CartoTypeWrapper.h:1656
RoadType m_road_type
The road type of the arc.
Definition: CartoTypeWrapper.h:1637
double m_nearest_point_x
The x coordinate of the nearest point on the road, in map coordinates, to the chosen point.
Definition: CartoTypeWrapper.h:1648
double m_max_speed
The maximum legal speed in kilometres per hour. A value of zero means there is no known speed limit,...
Definition: CartoTypeWrapper.h:1642
String ^ m_ref
The road reference of the road.
Definition: CartoTypeWrapper.h:1646
String ^ m_name
The standard name of the road.
Definition: CartoTypeWrapper.h:1644
double m_distance
The distance from the chosen point to the nearest point in meters.
Definition: CartoTypeWrapper.h:1652
double m_heading_vector_y
The y coordinate of the heading of the nearest segment as a unit vector.
Definition: CartoTypeWrapper.h:1658
double m_heading_in_degrees
The heading of the nearest segment in degrees.
Definition: CartoTypeWrapper.h:1654
Information about the nearest route segment to a point.
Definition: CartoTypeWrapper.h:1388
double m_nearest_point_y
The point in the segment's path nearest to the other point, in map coordinates.
Definition: CartoTypeWrapper.h:1411
double m_heading
The heading of the nearest line as a map angle taken anti-clockwise from rightwards.
Definition: CartoTypeWrapper.h:1423
double m_time_along_route
The estimated time of the nearest point, along the route, in seconds.
Definition: CartoTypeWrapper.h:1419
double m_distance_to_route
The distance from the other point to iNearestPoint in meters.
Definition: CartoTypeWrapper.h:1413
double m_distance_along_segment
The distance within the current segment in meters.
Definition: CartoTypeWrapper.h:1417
double m_nearest_point_x
The point in the segment's path nearest to the other point, in map coordinates.
Definition: CartoTypeWrapper.h:1409
double m_time_along_segment
The estimated time within the current segment, in seconds.
Definition: CartoTypeWrapper.h:1421
int m_segment_index
The index of the segment in the CRoute object, or -1 if there were no segments.
Definition: CartoTypeWrapper.h:1405
int m_line_index
The index of the line within the segment's path: line N goes from point N to point N + 1.
Definition: CartoTypeWrapper.h:1407
double m_distance_along_route
The distance of the nearest point along the route in meters.
Definition: CartoTypeWrapper.h:1415
An on-curve or off-curve point for use in paths.
Definition: CartoTypeGeometry.h:60
Parameters giving detailed control of the perspective view.
Definition: CartoTypeWrapper.h:1869
bool m_auto_position
If true, ignore m_position_in_degrees_x and m_position_in_degrees_y, and set the camera position so t...
Definition: CartoTypeWrapper.h:1881
double m_position_in_degrees_x
The longitude of the position of the point on the terrain below the camera, in degrees longitude (x) ...
Definition: CartoTypeWrapper.h:1877
double m_azimuth_degrees
The azimuth of the camera in degrees going clockwise, where 0 is N, 90 is E, etc.
Definition: CartoTypeWrapper.h:1885
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 m_rotation_degrees
The amount by which the camera is rotated about its axis, after applying the declination,...
Definition: CartoTypeWrapper.h:1891
double m_field_of_view_degrees
The camera's field of view in degrees.
Definition: CartoTypeWrapper.h:1893
bool m_auto_azimuth
If true, ignore m_azimuth_degrees and use the current map orientation.
Definition: CartoTypeWrapper.h:1887
double m_declination_in_degrees
The declination of the camera downward from the horizontal plane. Values are clamped to the range -90...
Definition: CartoTypeWrapper.h:1889
double m_position_in_degrees_y
The latitude of the position of the point on the terrain below the camera, in degrees longitude (x) a...
Definition: CartoTypeWrapper.h:1879
double m_height_in_meters
The height of the camera above the terrain. The value 0 causes a default value to be used,...
Definition: CartoTypeWrapper.h:1883
A 2D point using floating-point coordinates.
Definition: CartoTypeGeometry.h:24
A bitmap and a position to draw it. Used when drawing notices on the map.
Definition: CartoTypeWrapper.h:1833
Drawing::Bitmap ^ m_bitmap
The bitmap.
Definition: CartoTypeWrapper.h:1836
int m_x
The X coordinate of the position at which to draw the top-left corner of the bitmap.
Definition: CartoTypeWrapper.h:1838
int m_y
The Y coordinate of the position at which to draw the top-left corner of the bitmap.
Definition: CartoTypeWrapper.h:1840
A grid-aligned rectangle with double-precision coordinates suitable for map points.
Definition: CartoTypeGeometry.h:82
A set of points for creating a route, with optional heading and accuracy information.
Definition: CartoTypeWrapper.h:1457
CoordType m_coord_type
The coordinate type of the route points.
Definition: CartoTypeWrapper.h:1460
RoutePointList ^ m_route_point_list
The route points.
Definition: CartoTypeWrapper.h:1462
Information about an entire route.
Definition: CartoTypeWrapper.h:1518
NearestSegmentInfo ^ GetPointAtTime(double aTimeInSeconds)
Gets information about a point a certain estimated time along a route.
virtual int PointCount(int aContourIndex)
Gets the number of points in a contour.
virtual int ContourCount()
Gets the number of contours (sub-paths).
RouteProfile ^ GetProfile()
Gets the profile used to create this route.
NearestSegmentInfo ^ GetPointAtDistance(double aDistanceInMeters)
Gets information about a point a certain distance along a route.
int GetRouteSegmentCount()
Gets the number of route segments.
virtual void GetPoint(int aContourIndex, int aPointIndex, PathPoint^ aPoint)
Gets a point given its contour and point indexes.
NearestSegmentInfo ^ GetNearestSegment(double aX, double aY, int aSection, double aPreviousDistanceAlongRoute)
Gets information about the nearest route segment to a point given in map coordinates.
double GetTime()
Gets the estimated time taken to traverse the route in seconds.
RouteSegment ^ GetRouteSegment(int aIndex)
Gets a route segment.
double GetDistance()
Gets the distance of the route in metres.
double GetTollRoadDistance()
Returns the total distance in metres of the parts of the route that are on toll roads.
Geometry ^ GetGeometry()
Gets the geometry of the route.
A point on a route, with its heading and location match parameters.
Definition: CartoTypeWrapper.h:1431
double m_y
The X coordinate.
Definition: CartoTypeWrapper.h:1436
LocationMatchParam ^ m_location_match_param
Parameters used when matching the point to a road or other routable segment. If null,...
Definition: CartoTypeWrapper.h:1442
double m_x
The X coordinate.
Definition: CartoTypeWrapper.h:1434
bool m_heading_known
True if the heading is known.
Definition: CartoTypeWrapper.h:1440
double m_heading
The heading in degrees clockwise from north.
Definition: CartoTypeWrapper.h:1438
A type for lists of route points: see RouteCoordSet.
Definition: CartoTypeWrapper.h:1447
A routing profile: parameters determining the type of route, including road speeds,...
Definition: CartoTypeWrapper.h:926
double m_height
The vehicle's height in meters. Values of zero or less mean 'unknown'.
Definition: CartoTypeWrapper.h:1085
literal int NoVehicularAccess
No vehicular access.
Definition: CartoTypeWrapper.h:973
literal int RoadTypeCount
The size of the speed and bonus arrays.
Definition: CartoTypeWrapper.h:1042
literal int PassengerFerry
The index for passenger ferries in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:1008
bool m_hazmat
True if the vehicle is carrying hazardous materials.
Definition: CartoTypeWrapper.h:1094
literal int PrimaryRoad
The index for primary roads in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:986
literal int BicycleAccessFlag
No access for bicycles.
Definition: CartoTypeWrapper.h:945
literal int OtherRoadType3
The index for other road type 3 in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:1032
literal int MotorCycleAccessFlag
No access for motorcycles.
Definition: CartoTypeWrapper.h:947
literal int SecondaryRoad
The index for secondary roads in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:990
literal int UnpavedRoad
The index for unpaved motorable roads in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:1024
double m_triple_axle_load
The vehicle's triple axle load in metric tons. Values of zero or less mean 'unknown'.
Definition: CartoTypeWrapper.h:1082
int m_traffic_light_time
The estimated delay in seconds caused by traffic lights.
Definition: CartoTypeWrapper.h:1137
double m_double_axle_load
The vehicle's double axle load in metric tons. Values of zero or less mean 'unknown'.
Definition: CartoTypeWrapper.h:1079
array< double > ^ m_speed
Speeds along roads in kilometres per hour.
Definition: CartoTypeWrapper.h:1097
literal int ResidentialRoad
The index for residential roads in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:998
String ^ m_name
The optional name of the profile.
Definition: CartoTypeWrapper.h:1064
literal int Bridleway
The index for bridleways in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:1018
literal int TaxiAccessFlag
No access for taxis.
Definition: CartoTypeWrapper.h:959
literal int GradientDown0
The index for a very slight downhill gradient, or no gradient, in the gradient arrays.
Definition: CartoTypeWrapper.h:1053
RouteProfile(RouteProfileType aProfileType)
Creates a RouteProfile of one of the standard types.
literal int PedestrianAccessFlag
No access for pedestrians.
Definition: CartoTypeWrapper.h:961
literal int OtherRoadType6
The index for other road type 6 in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:1038
double m_width
The vehicle's width in meters. Values of zero or less mean 'unknown'.
Definition: CartoTypeWrapper.h:1088
literal int EmergencyAccessFlag
No access for emergency vehicles.
Definition: CartoTypeWrapper.h:963
bool m_shortest_by_time
Set this flag to true if m_shortest should produce the shortest route by time rather than distance.
Definition: CartoTypeWrapper.h:1146
double m_length
The vehicle's length in meters. Values of zero or less mean 'unknown'.
Definition: CartoTypeWrapper.h:1091
literal int Motorway
The index for motorways in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:978
literal int GradientUp3
The index for a very steep uphill gradient in the gradient arrays.
Definition: CartoTypeWrapper.h:1051
literal int OtherAccessFlag
Other access restrictions exist such as weight, length, width, height or for vehicles carrying hazard...
Definition: CartoTypeWrapper.h:965
literal int GradientDown2
The index for a steep downhill gradient in the gradient arrays.
Definition: CartoTypeWrapper.h:1057
literal int OtherRoadType2
The index for other road type 2 in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:1030
literal int LightGoodsAccessFlag
No access for light goods vehicles.
Definition: CartoTypeWrapper.h:953
array< int > ^ m_restriction_override
This array of bit masks allows restrictions to be overridden for certain types of road....
Definition: CartoTypeWrapper.h:1111
literal int GradientDown1
The index for a gentle downhill gradient in the gradient arrays.
Definition: CartoTypeWrapper.h:1055
literal int SecondaryRoadLink
The index for secondary road links in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:992
literal int TrunkRoadLink
The index for trunk road links in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:984
literal int GradientUp2
The index for a steep uphill gradient in the gradient arrays.
Definition: CartoTypeWrapper.h:1049
literal int AccessMask
A mask for access restrictions not including the 'other access' flag.
Definition: CartoTypeWrapper.h:941
int m_vehicle_type
Flags taken from WrongWayFlag ... OtherAccessFlag indicating the vehicle type. Arcs with restrictions...
Definition: CartoTypeWrapper.h:1070
literal int GradientUp0
The index for a very slight uphill gradient, or no gradient, in the gradient arrays.
Definition: CartoTypeWrapper.h:1045
double m_weight
The vehicle's weight in metric tons. Values of zero or less mean 'unknown'.
Definition: CartoTypeWrapper.h:1073
literal int VehicularFerry
The index for vehicular ferries in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:1006
bool m_shortest
Set this flag to true to get the shortest route by distance or time, ignoring weightings....
Definition: CartoTypeWrapper.h:1143
int m_u_turn_time
The estimated time in seconds taken for a U-turn, defined as a turn very close to 180 degrees (within...
Definition: CartoTypeWrapper.h:1123
literal int Cycleway
The index for cycleways in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:1012
literal int Footway
The index for footways in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:1016
literal int BusAccessFlag
No access for buses.
Definition: CartoTypeWrapper.h:957
literal int TertiaryRoad
The index for tertiary roads in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:994
int m_turn_time
The estimated time in seconds taken for any turn at a junction that is not a slight turn or simply go...
Definition: CartoTypeWrapper.h:1117
double m_toll_penalty
The penalty applied to toll roads as a number between zero and one.
Definition: CartoTypeWrapper.h:1158
literal int HighOccupancyAccessFlag
No access for high occupancy vehicles.
Definition: CartoTypeWrapper.h:951
literal int AllVehicles
Access flags affect all vehicles; synonym of NoVehicularAccess.
Definition: CartoTypeWrapper.h:975
int m_gradient_flags
Flags indicating which roads are affected by gradient speeds and bonuses; normally steps,...
Definition: CartoTypeWrapper.h:1178
literal int PrimaryRoadLink
The index for primary road links in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:988
Result ReadFromXmlString(String^ aString)
Reads the route profile from a string in XML format.
literal int OtherRoadType4
The index for other road type 4 in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:1034
Result ReadFromXmlFile(String^ aFileName)
Reads the route profile from an file in XML format.
literal int Steps
The index for steps in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:1020
literal int ServiceRoad
The index for service roads in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:1002
literal int OtherRoadType0
The index for other road type 0 in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:1026
literal int Track
The index for tracks in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:1000
literal int OtherRoadType5
The index for other road type 5 in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:1036
literal int AllMotorVehicles
Access flags affect all motor vehicles; synonym of BicycleAccessOnly.
Definition: CartoTypeWrapper.h:969
literal int HeavyGoodsAccessFlag
No access for heavy goods vehicles.
Definition: CartoTypeWrapper.h:955
int m_cross_traffic_turn_time
The estimated time in seconds taken for a turn across the traffic: that is, a left turn in drive-on-r...
Definition: CartoTypeWrapper.h:1132
literal int MotorwayLink
The index for motorway link roads in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:980
literal int GradientUp1
The index for a gentle uphill gradient in the gradient arrays.
Definition: CartoTypeWrapper.h:1047
literal int LivingStreet
The index for living streets in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:1010
literal int UnclassifiedRoad
The index for unclassified roads in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:996
literal int TrunkRoad
The index for trunk roads in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:982
literal int PedestrianRoad
The index for pedestrian roads in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:1004
literal int WrongWayFlag
This arc goes the wrong way along a one-way road but it can be used by pedestrians and emergency vehi...
Definition: CartoTypeWrapper.h:943
literal int GradientCount
The size of the gradient arrays.
Definition: CartoTypeWrapper.h:1061
literal int BicycleAndPedestrianAccessOnly
Bicycle and pedestrian access only; synonym of AllMotorVehicles.
Definition: CartoTypeWrapper.h:971
literal int OtherRoadType1
The index for other road type 1 in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:1028
array< double > ^ m_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:1103
String ^ WriteAsXmlString()
Creates an XML string representing the route profile.
literal int OtherRoadType7
The index for other road type 7 in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:1040
array< double > ^ m_gradient_speed
Speeds added to roads with a particular gradient.
Definition: CartoTypeWrapper.h:1169
literal int GradientDown3
The index for a very steep downhill gradient in the gradient arrays.
Definition: CartoTypeWrapper.h:1059
double m_axle_load
The vehicle's axle load in metric tons. Values of zero or less mean 'unknown'.
Definition: CartoTypeWrapper.h:1076
literal int UnknownRoadType
The index for roads of unknown type in the speed and bonus arrays.
Definition: CartoTypeWrapper.h:1022
literal int BicycleAccessOnly
Bicycle access only.
Definition: CartoTypeWrapper.h:967
literal int CarAccessFlag
No access for cars.
Definition: CartoTypeWrapper.h:949
Result WriteAsXmlFile(String^ aFileName)
Writes the route profile to a file in XML format.
array< double > ^ m_gradient_bonus
Bonuses applied to roads with a particular gradient.
Definition: CartoTypeWrapper.h:1172
Part of a route, consisting of a turn and the section of the route from that turn to the next one.
Definition: CartoTypeWrapper.h:1470
virtual int PointCount(int aContourIndex)
Gets the number of points in a contour.
double GetMaxSpeed()
Gets the maximum speed in kilometers per hour, or 0 if no maximum speed is known.
double GetDistance()
Gets the distance in metres.
virtual void GetPoint(int aContourIndex, int aPointIndex, PathPoint^ aPoint)
Gets a point given its contour and point indexes.
TurnType GetTurnType()
Gets the turn type.
int GetChoices()
Gets the number of choices at this turning if known; 0 if not known.
int GetSection()
Gets the route section this segment belongs to.
virtual int ContourCount()
Gets the number of contours (sub-paths). It is always 1 for this class.
Definition: CartoTypeWrapper.h:1502
double GetTime()
Gets the estimated time taken to traverse the segment in seconds, including the turn time returned by...
RoundaboutState GetRoundaboutState()
Gets the roundabout state.
RoadType GetRoadType()
Gets the road type of the object of which this segment is a part.
double GetTurnAngle()
Gets the turn angle.
double GetTurnTime()
Gets the estimated time taken by the turn at the start of the segment; this is included in the value ...
int GetExitNumber()
Gets the exit number, counting the current junction as 0, if this junction is part of a roundabout.
String ^ GetName()
Gets the standard name of the object of which this segment is a part.
String ^ GetRef()
Gets the road reference of the object of which this segment is a part.
bool GetContinue()
Returns true if this is a 'continue' turn, false if not.
A matrix of route times and distances between sets of points.
Definition: CartoTypeWrapper.h:2101
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 ToCount()
Returns the number of 'to' points.
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' ...
int FromCount()
Returns the number of 'from' points.
Traffic information. This information is normally used in combination with a location reference.
Definition: CartoTypeWrapper.h:1706
literal double NoSpeedLimit
Speeds of this value or greater mean there is no speed limit.
Definition: CartoTypeWrapper.h:1711
int m_vehicle_types
Vehicle types affected by this information, taken from the RouteProfile literals; use AllVehicles to ...
Definition: CartoTypeWrapper.h:1714
double m_speed
Permitted or expected speed in kph: NoSpeedLimit or greater means no speed limit; 0 or less means the...
Definition: CartoTypeWrapper.h:1716
Information about a turn through a junction.
Definition: CartoTypeWrapper.h:865
String ^ m_from_ref
The reference code (e.g., B4009) of the road before the turn.
Definition: CartoTypeWrapper.h:892
void Clear()
Clears the data from a Turn object, returning it to its newly constructed state.
double m_distance
The distance to the turn in metres.
Definition: CartoTypeWrapper.h:886
int m_exit_number
The junction to take, counting the current junction as 0, if this junction is part of a roundabout.
Definition: CartoTypeWrapper.h:884
String ^ m_instructions
Instructions for the turn, in the current locale's language.
Definition: CartoTypeWrapper.h:898
RoundaboutState m_roundabout_state
The roundabout state.
Definition: CartoTypeWrapper.h:880
bool m_continue
True if this turn is a continuation of the current road and no notification is needed.
Definition: CartoTypeWrapper.h:878
String ^ TurnCommand()
Gets a command in the current locale's language describing the turn.
Turn()
Creates a Turn object.
String ^ m_to_ref
The reference code (e.g., B4009) of the road after the turn.
Definition: CartoTypeWrapper.h:896
String ^ m_from_name
The name of the road before the turn.
Definition: CartoTypeWrapper.h:890
String ^ m_to_name
The name of the road after the turn.
Definition: CartoTypeWrapper.h:894
double m_time
The estimated time to the turn in seconds.
Definition: CartoTypeWrapper.h:888
TurnType m_turn_type
The turn type: ahead, left, right, etc.
Definition: CartoTypeWrapper.h:876
double m_turn_angle
The turn angle: 0 = straight ahead; negative = left, positive = right.
Definition: CartoTypeWrapper.h:882
General utility functions
Definition: CartoTypeWrapper.h:3727
static String ^ Version()
Returns the current CartoType version as a string of the form MAJOR.MINOR.
static String ^ SetAttribute(String^ aString, String^ aKey, String^ aValue)
Sets an attribute in a string to be used when creating a map object.
static double GetGreatCircleDistanceInMeters(double aLong1, double aLat1, double aLong2, double aLat2)
Gets the great-circle distance in meters between (aLong1,aLat1) and (aLong2,aLat2)....
static double GetDistanceFromPoint(array< double >^ aX, array< double >^ aY, bool aIsPolygon, double aPointX, double aPointY, Point^ aNearestPoint)
Gets the distance from a line of points (if aPolygon is false) or a polygon (if aPolygon is true) to ...
static String ^ ErrorString(Result aError)
Returns a short description of an error, given its code.
static Point ^ GetPointAtAzimuth(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 GetSphericalPolygonArea(array< double >^ aX, array< double >^ aY)
Gets the area of a spherical polygon in square metres. The polygon is defined in degrees of latitude ...
static double GetAzimuthInDegrees(double aLong1, double aLat1, double aLong2, double aLat2)
Gets the azimuth (direction along a great circle) in degrees from (aLong1,aLat1) to (aLong2,...
static String ^ Build()
Returns the current CartoType build as a string.
static double GetLength(array< double >^ aX, array< double >^ aY)
Gets the length of a line, in meters, defined by points of latitude (y) and longitude (x),...
static int IntAttribute(String^ aThreeLetterCode, int aType)
Constructs an integer attribute from a three-letter code and a type.
The view state, which can be retrieved or set so that maps can be recreated.
Definition: CartoTypeWrapper.h:1898
double m_view_center_degrees_y
The Y coordinate (latitude) of the view center in map coordinates.
Definition: CartoTypeWrapper.h:1912
int m_height_in_pixels
The display height in pixels.
Definition: CartoTypeWrapper.h:1908
PerspectiveParam ^ m_perspective_param
The parameters to be used for perspective mode; if null, default parameters are used.
Definition: CartoTypeWrapper.h:1920
double m_rotation_degrees
The clockwise rotation of the view in degrees.
Definition: CartoTypeWrapper.h:1916
bool m_perspective
True if perspective mode is on.
Definition: CartoTypeWrapper.h:1918
int m_width_in_pixels
The display width in pixels.
Definition: CartoTypeWrapper.h:1906
String ^ ToXml()
Creates a string representing a view state in XML.
double m_scale_denominator
The denominator of the scale fraction; e.g., 50000 for 1:50000.
Definition: CartoTypeWrapper.h:1914
Result ReadFromXml(String^ aText)
Reads a view state from its XML form.
double m_view_center_degrees_x
The X coordinate (longitude) of the view center in map coordinates.
Definition: CartoTypeWrapper.h:1910
A path defining a set of open and closed curves.
Definition: CartoTypeGeometry.h:114
Definition: CartoTypeWrapper.h:19
ValidityFlag
Bit flags used in Framework.Navigate to indicate which information is valid.
Definition: CartoTypeWrapper.h:729
@ Course
A flag used in Framework.Navigate to indicate that the course is valid.
@ Speed
A flag used in Framework.Navigate to indicate that the speed is valid.
@ Position
A flag used in Framework.Navigate to indicate that the position is valid.
@ Time
A flag used in Framework.Navigate to indicate that the time is valid.
@ Height
A flag used in Framework.Navigate to indicate that the height is valid.
RoadType
The type of a road belonging to a route segment, etc.
Definition: CartoTypeWrapper.h:1187
@ CyclePathRoadType
Cycle path.
@ HazardousRoadAccessFlag
Access is forbidden to vehicles carrying hazardous materials.
@ StairwayRoadType
Stairway or escalator for pedestrians.
@ RoutingMask
The toll, roundabout, restriction and direction flags are held in bits 1...5.
@ ServiceRoadType
Service road or access road.
@ OneWayBackwardFlag
A bit flag indicating that the road is one-way in the reverse direction to that in which it is define...
@ OneWayForwardFlag
A bit flag indicating that the road is one-way in the direction in which it is defined.
@ MotorCarRoadAccessFlag
Access is forbidden to motor cars.
@ LinkFlag
A synonym for RampRoadTypeFlag.
@ RoadLevelShift
The amount by which road levels are shifted.
@ BusRoadAccessFlag
Access is forbidden to buses.
@ MinorRoadType
Local road or town or city street.
@ PrimaryLimitedAccessRoadType
Primary road with limited access (motorway, freeway, etc.).
@ RoundaboutFlag
A bit flag indicating that the road is part of a roundabout.
@ TunnelFlag
A bit flag to identify tunnels.
@ PathRoadType
Path or walkway for pedestrians.
@ EmergencyRoadAccessFlag
Access is forbidden to emergency vehicles.
@ HighOccupancyRoadAccessFlag
Access is forbidden to high-occupancy vehicles.
@ BicycleRoadAccessFlag
Access is forbidden to bicycles.
@ LowerGradeFlag
A bit flag to allow a distinction to be made between grades of road, within the major road type....
@ WheelChairRoadAccessFlag
Access is forbidden to wheelchairs.
@ FirstUnderRoadLevel
The first sub-surface level: the default value for an underpass.
@ ForestryRoadAccessFlag
Access is forbidden to forestry vehicles.
@ RampFlag
A bit flag to allow access ramps to be marked as sub-types of a major road type.
@ HeavyGoodsRoadAccessFlag
Access is forbidden to heavy goods vehicles.
@ MajorRoadTypeMask
The major road type is held in bits 8...11; bits 7 and 6 are used for finer distinctions.
@ DisabledRoadAccessFlag
Access is forbidden to vehicles with disabled persons' permits.
@ VehicularFerryRoadType
Vehicular Ferry route.
@ RoadLevelMask
The level (0 = surface, positive = above surface, negative = below surface) is held as a signed nybbl...
@ PrimaryUnlimitedAccessRoadType
Primary road without limited access: UK 'A' road.
@ BridgeFlag
A bit flag to identify bridges.
@ UnknownMajorRoadType
Roads of unknown type.
@ FootPathRoadType
Footpath.
@ PassengerFerryRoadType
Passenger-only Ferry route.
@ GoodsRoadAccessFlag
Access is forbidden to light goods vehicles.
@ AccessRampRoadType
Access ramp to limited access road.
@ RestrictionFlag
A bit flag indicating that the road has one or more restrictions (e.g., right turn only)....
@ BywayRoadType
Byway: road or track open to motor vehicles.
@ PedestrianRoadAccessFlag
Access is forbidden to pedestrians.
@ SecondUnderRoadLevel
The second sub-surface level: the default value for a tunnel.
@ MotorCycleRoadAccessFlag
Access is forbidden to motorcycles.
@ FirstOverRoadLevel
The first raised level: the default level for a bridge or overpass.
@ RoadTypeMask
The road type is held in bits 6...11.
@ SecondaryRoadType
Secondary road: UK 'B' road.
@ TollFlag
A toll must be paid to use this road. More details may be available in string attributes.
@ TaxiRoadAccessFlag
Access is forbidden to taxis.
@ AgriculturalRoadAccessFlag
Access is forbidden to agricultural vehicles.
RouterType
Types of router; used when selecting a router type.
Definition: CartoTypeWrapper.h:792
@ 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,...
public delegate void RouterAsyncDelegate(Result, Route^)
A delegate type for the asynchronous routing functions.
CoordType
Coordinate types.
Definition: CartoTypeGeometry.h:125
@ Degree
Longitude (x) and latitude (y) in degrees.
LetterCase
Definition: CartoTypeWrapper.h:445
@ 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...
public delegate void FindAsyncGroupDelegate(MapObjectGroupList^)
A delegate type for the asynchronous find function for map object groups.
Result
Result codes returned by CartoType API functions.
Definition: CartoTypeWrapper.h:70
@ ErrorNoFramework
The global framework object does not exist.
@ ErrorNoEncryptionKey
No encryption key has been set.
@ ErrorNotFound
ErrorNotFound is returned whenever a resource like a file is not found, or a search fails....
@ ErrorGeneral
An error has occurred but no other CartoType error is applicable. For example, this error code can be...
@ ErrorNoMemory
ErrorNoMemory is returned when an attempted memory allocation fails.
@ ErrorPngWrite
Writing a bitmap to PNG format failed.
@ ErrorInternetIo
An attempt to read data from the internet failed.
@ ErrorInvalidDashArray
The dash array for drawing strokes is invalid.
@ ErrorDebugMessage
A code for standard debug messages.
@ ErrorJpgRead
Reading a bitmap from JPG format failed.
@ ErrorOverflow
This error is returned by the base library when reading data or calculations result in overflow.
@ ErrorXmlRangeStart
The start of the range of errors in XML parsing or in the style sheet format, such as a syntactically...
@ ErrorPngRead
Reading a bitmap from PNG format failed.
@ ErrorMapNotFound
A map file was not found.
@ ErrorEmergencyMessage
A code for standard emergency messages.
@ ErrorProjectionOverflow
This error is returned by the projection system if the projection causes overflow.
@ ErrorNoProjection
The projection for converting latitude and longitude to map coordinates is unknown or unavailable.
@ ErrorNoInverse
This error is returned by transformation inversion if the transformation has no inverse.
@ Success
No error; a successful result.
@ ErrorStyleSheetNotFound
A style sheet was not found.
@ ErrorPaletteFull
A palette is full and no new entries can be added.
@ ErrorNoRoadsNearEndOfRoute
No route could be created because there were no roads near the end point of a route section.
@ ErrorSQLite
The base of error codes for returning SQLite errors. The SQLite error code is placed in the lower two...
@ ErrorNone
No error; a successful result.
@ ErrorMapDataBaseFormatMismatch
There was an attempt to use map databases of incompatible formats together.
@ ErrorZoomLimitReached
There was an attempt to zoom beyond the legal zoom limits for a map.
@ ErrorNoRoute
A route was needed by the navigation system but no route was available.
@ ErrorParallelLines
The error code returned by line intersection algorithms when the lines are parallel.
@ ErrorNoIntersection
An object did not intersect a specified region.
@ ErrorConditionsTooDeeplyNested
Conditions are too deeply nested in the style sheet.
@ ErrorNoRoadsNearStartOfRoute
No route could be created because there were no roads near the start point of a route section.
@ ErrorUnknownDataFormat
This error is returned by database accessors, typeface accessors, etc., to indicate that this data fo...
@ ErrorUnimplemented
The code ErrorUnimplemented is used for functions that have not yet been implemented,...
@ ErrorTextTruncated
ErrorTextTruncated is returned when text inserted into a string derived from MString is too long for ...
@ ErrorTextUnmodifiable
ErrorTextUnmodifiable is returned when an attempt is made to modify an unmodifiable string represente...
@ ErrorIo
The code ErrorIo is used for unexpected read or write errors on files or other data streams....
@ ErrorEncryptionKeyTooShort
A key supplied for encryption was too short.
@ ErrorUntransliterable
A string was not transliterable.
@ ErrorCancel
The code ErrorCancel is returned to cancel an asynchronous operation that uses callbacks....
@ ErrorInfoMessage
A code for standard information messages.
@ ErrorFontNotFound
A font file was not found.
@ ErrorTransformFailed
A transform failed because an argument or result was out of range.
@ ErrorNullFont
There was an attempt to use a null font for drawing text.
@ ErrorXmlFeatureNotSupported
An unsupported feature was requested from the XML parser.
@ ErrorNotNavigating
A function has been called which is available only when navigating.
@ ErrorUnlicensed
A function was called from the unlicensed version of CartoType that is available only in the licensed...
@ ErrorDuplicate
An attempt was made to insert a duplicate object into a collection class that does not allow duplicat...
@ ErrorWarningMessage
A code for standard warning messages.
@ ErrorCorrupt
ErrorCorrupt is returned when illegal values are found when reading data from a file or other seriali...
@ ErrorNoticeMessage
A code for standard notice messages.
@ ErrorProj4
There was an error in the PROJ.4 projection library error other than a projection overflow.
@ ErrorDivideByZero
Division by zero in an interpreted expression.
@ ErrorEndOfData
ErrorEndOfData is returned by iterators and streams when no more data is available....
@ ErrorInvalidOutline
If the graphics system detects an invalid outline, such as one that starts with a cubic control point...
@ ErrorNoPalette
An attempt was made to draw a bitmap needing a color palette but no palette was provided.
@ ErrorInterrupt
An operation was interrupted, for example by another thread writing to a shared flag.
@ ErrorAlertMessage
A code for standard alert messages.
@ ErrorNoRouteConnectivity
No route could be created because the start and end point were not connected.
@ ErrorXmlRangeEnd
The end of the range of errors in XML parsing or in the style sheet format.
@ ErrorReadOnlyMapDataBase
There was an attempt to write to a read-only map database.
@ ErrorAlreadyProjected
There was an attempt to project a map object that had already been projected.
@ ErrorCriticalMessage
A code for standard critical messages.
@ ErrorInvalidArgument
This error is returned when an invalid argument has been given to a function.
@ StandardErrorCodeCount
The number of standard error codes.
@ ErrorUnknownVersion
This error is returned by a data reader when it can not deal with the data version.
@ ErrorCentralPath
The central-path system failed to create a usable path.
@ ErrorFrameworkAlreadyExists
The global framework object already exists.
@ ErrorErrorMessage
A code for standard error messages.
StringMatchMethod
Flags and constants used when finding text.
Definition: CartoTypeWrapper.h:415
@ 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.
PointOfInterestType
Types of place to search for in the 'find nearby' parameters.
Definition: CartoTypeWrapper.h:461
@ Shops
An area of retail shops.
@ Supermarket
A supermarket or other shop selling groceries.
@ SportsCenter
A public sports center.
@ Cafe
A cafe or other place serving snacks and soft drinks.
@ None
No point of interest.
@ Fuel
A fuel station for motor vehicles.
@ FastFood
A fast food restaurant, for example a place serving beefburgers.
@ SwimmingPool
A public swimming pool.
@ Bar
A bar, pub or other drinking establishment.
@ Restaurant
A restaurant or other place serving hot meals.
@ Tourism
A tourist attraction.
@ TrainStation
A train station.
@ Pharmacy
A pharmacy or chemist's shop.
AddressPart
Address part codes used when searching for address parts separately.
Definition: CartoTypeWrapper.h:1619
TurnType
Turn types on a route. Turns at junctions are classified by dividing the full circle into 45-degree s...
Definition: CartoTypeWrapper.h:817
@ 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...
FollowFlag
Bit flags used by the FollowMode constants.
Definition: CartoTypeWrapper.h:703
@ 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:3605
@ 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.
LocationRefType
The type of a location reference used for traffic information.
Definition: CartoTypeWrapper.h:1739
@ 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...
FollowMode
Flags controlling the way the map follows the user location and heading and automatically zooms.
Definition: CartoTypeWrapper.h:714
@ 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...
SideOfRoad
The side of the road: used in traffic information.
Definition: CartoTypeWrapper.h:1721
RouteAccess
The accessibility of a point for routing purposes. The Framework.GetRouteAccess function,...
Definition: CartoTypeWrapper.h:2132
@ Unknown
The accessibility of the point is unknown.
@ Accessible
The point is accessible for outward routing.
@ Isolated
Routes cannot leave the point. The usual cause is an error in the map data like a one-way road that i...
@ NoRoad
There are no routable roads or tracks near the point.
public delegate void FindAsyncDelegate(MapObjectList^)
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:852
@ 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.
RouteProfileType
Constants used to select frequently-used profiles.
Definition: CartoTypeWrapper.h:906
@ Hike
A profile type for walking, preferring off-road paths.
@ Cycle
A profile type for cycling.
@ Walk
A profile type for walking.
@ Car
A profile type for private car navigation.
FileType
File types of interest to CartoType.
Definition: CartoTypeWrapper.h:1675
@ 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.
NoticePosition
Positions for notices like the legend or scale bar. Use functions taking an ExtendedNoticePosition fo...
Definition: CartoTypeWrapper.h:1781
@ 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:400
@ 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:1730
WritableMapType
Types of writable maps.
Definition: CartoTypeWrapper.h:1666
@ 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:744
@ ReRouteNeeded
Re-routing is needed. This state is used only when automatic re-routing is turned off,...
@ OffRoute
The current position is off the route.
@ None
No route has been created, or navigation is disabled.
@ Turn
The current position is on the route and turn information is available.
@ 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.
@ ReRouteDone
A new route has been calculated after a period off route.