CartoType UWP API 9.0-11-g64131709d
for development in C#, VB.NET and C++
Loading...
Searching...
No Matches
CartoTypeWrapper.h
1/*
2CartoTypeWrapper.h
3Copyright (C) CartoType Ltd 2011-2025.
4See www.cartotype.com for more information.
5*/
6
7/*
8C++/CX notes.
9
10This interface is written in C++/CX. To enable compilation for C++/CX use the /ZW compiler option.
11
12SEALED CLASSES: not sealing classes produces error 4585: A WinRT 'public ref class'
13must either be sealed or derive from an existing unsealed class.
14
15VECTOR TYPES: Windows::Foundation::Collections::IVector is used in parameters
16and return values. Platform::Collections::Vector is used when creating objects
17to be returned.
18See https://docs.microsoft.com/en-us/cpp/cppcx/platform-collections-vector-class?view=msvc-170:
19"If you attempt to use a Vector type in a public return value or parameter,
20compiler error C3986 is raised. You can fix the error by changing the parameter
21or return value type to Windows::Foundation::Collections::IVector. For more
22information, see Collections (C++/CX)."
23*/
24
25#pragma once
26
27#include "CartoTypeResult.h"
28#include "CartoTypeGeometry.h"
29#include "CartoTypeMetaData.h"
30#include "CartoTypeFeatureInfo.h"
31
32#include <collection.h>
33#include <ppltasks.h>
34#include <wrl.h>
35#include <robuffer.h>
36#include <algorithm>
37#include <memory>
38
39using namespace Platform;
40using namespace Platform::Collections;
41using namespace Platform::Metadata;
42using namespace Windows::Foundation::Collections;
43using namespace Windows::Graphics::Imaging;
44
45namespace CartoTypeCore
46{
47class Framework;
48class MapObject;
49class TCoordinateTransform;
50class NavigatorTurn;
51class MInternetAccessor;
52class Route;
53class RouteSegment;
54class RouteProfile;
55class NearestRoadInfo;
56class NearestSegmentInfo;
57class Address;
58class Legend;
59class MapRenderer;
60class RouteCoordSet;
61class NoticePosition;
62class TimeAndDistanceMatrix;
63class CVectorTileServer;
64}
65
67namespace CartoType
68{
69
89
90// forward declarations
91ref class Framework;
92ref class Route;
93ref class Address;
94ref class Geometry;
95ref class Legend;
96
111
141
143public enum class LetterCase
144 {
156 };
157
159public ref class FindNearbyParam sealed
160 {
161 public:
162 FindNearbyParam() { Type = FeatureType::Invalid; }
163
165 property FeatureType Type;
167 property String^ Text;
169 property Geometry^ Location;
170 };
171
173public ref class FindParam sealed
174 {
175 public:
176 public:
177 FindParam() { MaxObjectCount = 0x7FFFFFFF; StringMatchMethod = CartoType::StringMatchMethod::Exact; Merge = true; TimeOut = 0.5; }
179 FindParam(FindNearbyParam^ aFindNearbyParam);
180
182 property int MaxObjectCount;
184 property Geometry^ Clip;
186 property Geometry^ Location;
188 property String^ Layers;
195 property String^ Attributes;
200 property String^ Text;
207 property String^ Condition;
209 property bool Merge;
214 property double TimeOut;
215 };
216
218public ref class MapObjectMatch sealed
219 {
220 public:
222 property bool Found;
224 property String^ Key;
226 property String^ Value;
228 property int Start;
230 property int End;
231 };
232
234public ref class MapObject sealed: public Path
235 {
236 public:
238 property String^ Label { String^ get(); };
242 String^ StringAttribute(String^ aName);
244 IVector<String^>^ StringAttributes();
246 property int64_t Id { int64_t get(); }
248 property MapObjectType Type { MapObjectType get(); };
250 property String^ LayerName { String^ get(); }
252 property double Area { double get(); };
253
254 property double LengthOrPerimeter { double get(); }
261 property Point^ Center { Point^ get(); };
270 property Point^ CenterInDegrees { Point^ get(); };
272 property Rect^ BoundsInDegrees { Rect^ get(); };
274 property Geometry^ GeometryInDegrees { Geometry^ get(); };
276 property Rect^ Bounds { Rect^ get(); }
277
287 MapObjectMatch^ Match(String^ aText,StringMatchMethod aMatchMethod,String^ aAttributes,bool aPhrase);
289 virtual int ContourCount();
291 virtual int PointCount(int aContourIndex);
293 virtual PathPoint^ Point(int aContourIndex,int aPointIndex);
294
295 internal:
296 MapObject(std::unique_ptr<CartoTypeCore::MapObject> aMapObject);
297
298 internal:
299 std::unique_ptr<CartoTypeCore::MapObject> m_map_object;
300 };
301
302[Flags]
304public enum class FollowFlag : unsigned int
305 {
312 };
313
314[Flags]
329
330[Flags]
332public enum class ValidityFlag : unsigned int
333 {
335 Time = 1,
339 Speed = 4,
344 };
345
368
370public ref class LocationMatchParam sealed
371 {
372 public:
378 property double LocationAccuracyInMeters;
384 property double HeadingAccuracyInDegrees;
390 property double MaxRoadDistanceInMeters;
391 };
392
410
449
454public enum class RoundaboutState
455 {
464 };
465
467public ref class Turn sealed
468 {
469 public:
473 void Clear();
474
476 property TurnType Type;
478 property bool IsContinue;
482 property double TurnAngle;
484 property int ExitNumber;
486 property double Distance;
488 property double Time;
490 property String^ FromName;
492 property String^ FromRef;
494 property FeatureInfo^ FromRouteInfo;
496 property String^ ToName;
498 property String^ ToRef;
500 property FeatureInfo^ ToRouteInfo;
502 property String^ Destination;
504 property String^ Instructions;
506 property int Index;
507
508 internal:
509 void Set(const CartoTypeCore::NavigatorTurn& aTurn);
510 };
511
513public enum class RouteProfileType
514 {
519 Walking = Walk,
522 Bicycle = Cycle,
525 Hiking = Hike,
528 };
529
535public ref class RouteProfile sealed
536 {
537 public:
538 RouteProfile();
542 Result ReadFromXmlFile(String^ aFileName);
544 Result ReadFromXmlString(String^ aString);
546 Result WriteAsXmlFile(String^ aFileName);
549
551 property String^ Name;
552
557 property int VehicleType;
558
560 property double Weight;
561
563 property double AxleLoad;
564
566 property double DoubleAxleLoad;
567
569 property double TripleAxleLoad;
570
572 property double Height;
573
575 property double Width;
576
578 property double Length;
579
581 property bool HazMat;
582
584 property Array<double>^ Speed;
585
590 property Array<double>^ Bonus;
591
599
604 property int TurnTime;
605
610 property int UTurnTime;
611
619 property int CrossTrafficTurnTime;
620
624 property int TrafficLightTime;
625
630 property bool Shortest;
631
633 property bool ShortestByTime;
634
645 property double TollPenalty;
646
657
660
665 property int GradientFlags;
666
667 internal:
668 void Set(const CartoTypeCore::RouteProfile& aProfile);
669 void Get(CartoTypeCore::RouteProfile& aProfile);
670 };
671
673public ref class NearestSegmentInfo sealed
674 {
675 public:
676 NearestSegmentInfo() { SegmentIndex = -1; }
677
679 property int SegmentIndex;
681 property int LineIndex;
683 property double NearestPointX;
685 property double NearestPointY;
687 property double DistanceToRoute;
689 property double DistanceAlongRoute;
691 property double DistanceAlongSegment;
693 property double TimeAlongRoute;
695 property double TimeAlongSegment;
697 property double Heading;
698
699 internal:
700 void Set(const CartoTypeCore::NearestSegmentInfo& aInfo);
701 };
702
704public ref class RoutePoint sealed
705 {
706 public:
708 property double X;
710 property double Y;
712 property double Heading;
714 property bool HeadingKnown;
717 };
718
720using RoutePointList = IVector<RoutePoint^>;
721
728public ref class RouteCoordSet sealed
729 {
730 public:
731 RouteCoordSet()
732 {
734 RoutePointList = ref new Vector<RoutePoint^>;
735 }
736
741
742 internal:
743 CartoTypeCore::RouteCoordSet CreateRouteCoordSet();
744 };
745
747public ref class RouteSegment sealed: public Path
748 {
749 public:
753 property String^ Name { String^ get(); };
755 property String^ Ref { String^ get(); };
757 property String^ Destination { String^ get(); };
759 property double Distance { double get(); };
761 property double Time { double get(); };
763 property double TurnTime { double get(); }
765 property TurnType TurnType { CartoType::TurnType get(); }
767 property bool IsContinue { bool get(); }
771 property double TurnAngle { double get(); }
773 property int ExitNumber { int get(); };
775 property int Choices { int get(); }
777 property int Section { int get(); };
779 property String^ Instructions { String^ get(); };
780
782 virtual int ContourCount() { return 1; }
784 virtual int PointCount(int aContourIndex);
786 virtual PathPoint^ Point(int aContourIndex,int aPointIndex);
787
788 internal:
789 RouteSegment(std::shared_ptr<CartoTypeCore::RouteSegment> aSegment);
790
791 private:
792 std::shared_ptr<CartoTypeCore::RouteSegment> m_segment;
793 };
794
796public ref class Route sealed: public Path
797 {
798 internal:
799 Route(std::shared_ptr<CartoTypeCore::Route> aRoute);
800
801 public:
803 property Geometry^ Geometry { CartoType::Geometry^ get(); };
805 property RouteProfile^ Profile { RouteProfile^ get(); }
807 property double Distance { double get(); }
808
809 property double Time { double get(); }
811 property int RouteSegmentCount { int get(); }
815 property double TollRoadDistance { double get(); }
830 NearestSegmentInfo^ NearestSegment(double aX,double aY,int aSection,double aPreviousDistanceAlongRoute);
832 NearestSegmentInfo^ PointAtDistance(double aDistanceInMeters);
834 NearestSegmentInfo^ PointAtTime(double aTimeInSeconds);
836 virtual int ContourCount();
838 virtual int PointCount(int aContourIndex);
840 virtual PathPoint^ Point(int aContourIndex,int aPointIndex);
841
842 internal:
843 std::shared_ptr<CartoTypeCore::Route> GetRoute() { return m_route; }
844
845 private:
846 std::shared_ptr<CartoTypeCore::Route> m_route;
847 };
848
854public ref class Address sealed
855 {
856 public:
862 String^ ToString(bool aFull);
863
865 property String^ Building;
867 property String^ Feature;
869 property String^ Street;
871 property String^ SubLocalty;
873 property String^ Locality;
875 property String^ Island;
877 property String^ SubAdminArea;
879 property String^ AdminArea;
881 property String^ Country;
883 property String^ PostCode;
884
885 internal:
886 void Get(CartoTypeCore::Address& aAddress);
887 void Set(const CartoTypeCore::Address& aAddress);
888 };
889
891public enum class SideOfRoad
892 {
893 None,
894 Right,
895 Left,
896 Both
897 };
898
900public ref class NearestRoadInfo sealed
901 {
902 public:
904 property FeatureInfo^ FeatureInfo;
906 property String^ Name;
908 property String^ Ref;
910 property double NearestPointX;
912 property double NearestPointY;
914 property double Distance;
916 property double HeadingInDegrees;
918 property double HeadingVectorX;
920 property double HeadingVectorY;
926 property SideOfRoad SideOfRoad;
927
928 internal:
929 void Set(const CartoTypeCore::NearestRoadInfo& aInfo);
930 };
931
933public enum class WritableMapType
934 {
939 };
940
963
968public ref class TrafficInfo sealed
969 {
970 public:
971 TrafficInfo()
972 {
973 VehicleTypes = int(FeatureConstants::KRouteAccessVehicle);
974 Speed = 255;
975 }
976
978 property int VehicleTypes;
980 property double Speed;
981 };
982
984public enum class RoadOrientation
985 {
986 None,
987 Forwards,
988 Backwards,
989 Both,
990 };
991
1012
1014public ref class LocationRef sealed
1015 {
1016 public:
1019
1021 property LocationRefType Type;
1023 property String^ Id;
1025 property Geometry^ Geometry;
1027 property double RadiusInMeters;
1029 property SideOfRoad SideOfRoad;
1032 };
1033
1056
1069public ref class NoticePosition sealed
1070 {
1071 public:
1075 NoticePosition(NoticeAnchor aAnchor,double aWidth,String^ aWidthUnit);
1081 NoticePosition(NoticeAnchor aAnchor,double aWidth,String^ aWidthUnit,double aXInset,String^ aXInsetUnit,double aYInset,String^ aYInsetUnit);
1082
1083 internal:
1084 std::unique_ptr<CartoTypeCore::NoticePosition> m_position;
1085 };
1086
1087[Flags]
1089public enum class FontStyleFlag : unsigned int
1090 {
1092 Bold = 1,
1103 };
1104
1106public ref class MapObjectGroup sealed
1107 {
1108 public:
1110 property String^ Name;
1112 property MapObjectList^ MapObjectList;
1113 };
1114
1116using MapObjectGroupList = IVector<MapObjectGroup^>;
1117
1119public ref class PerspectiveParam sealed
1120 {
1121 public:
1122 PerspectiveParam()
1123 {
1124 AutoPosition = true;
1125 AutoAzimuth = true;
1126 DeclinationDegrees = 30;
1127 FieldOfViewDegrees = 22.5;
1128 }
1129
1131 Result ReadFromXml(String^ aText);
1133 String^ ToXml();
1134
1136 property double PositionDegreesX;
1138 property double PositionDegreesY;
1140 property bool AutoPosition;
1142 property double HeightMeters;
1144 property double AzimuthDegrees;
1146 property bool AutoAzimuth;
1148 property double DeclinationDegrees;
1150 property double RotationDegrees;
1152 property double FieldOfViewDegrees;
1153 };
1154
1156public ref class ViewState sealed
1157 {
1158 public:
1159 ViewState() { WidthInPixels = 256; HeightInPixels = 256; }
1160
1162 Result ReadFromXml(String^ aText);
1164 String^ ToXml();
1165
1167 property int WidthInPixels;
1169 property int HeightInPixels;
1171 property double ViewCenterDegreesX;
1173 property double ViewCenterDegreesY;
1175 property double ScaleDenominator;
1177 property double RotationDegrees;
1179 property bool Perspective;
1182 };
1183
1185public ref class NavigatorParam sealed
1186 {
1187 public:
1188 NavigatorParam()
1189 {
1192 RouteTimeTolerance = 30;
1193 NavigationEnabled = true;
1194 }
1195
1197 property int MinimumFixDistance;
1199 property int RouteDistanceTolerance;
1201 property int RouteTimeTolerance;
1206 property bool NavigationEnabled;
1207 };
1208
1215public ref class FrameworkParam sealed
1216 {
1217 public:
1218 FrameworkParam()
1219 {
1220 ViewWidth = 256;
1221 ViewHeight = 256;
1222 }
1223
1225 property String^ MapFileName;
1227 property String^ StyleSheetFileName;
1229 property String^ StyleSheetText;
1231 property String^ FontFileName;
1233 property int ViewWidth;
1235 property int ViewHeight;
1237 property String^ Key;
1239 property int FileBufferSizeinBytes;
1241 property int MaxFileBufferCount;
1248 property int TextIndexLevels;
1249 };
1250
1252public enum class ColorValue
1253 {
1255 Black = (int)0xFF000000,
1257 DarkGray = (int)0xFF555555,
1259 DarkRed = (int)0xFF000080,
1261 DarkGreen = (int)0xFF008000,
1263 DarkYellow = (int)0xFF008080,
1265 DarkBlue = (int)0xFF800000,
1267 DarkMagenta = (int)0xFF800080,
1269 DarkCyan = (int)0xFF808000,
1271 Red = (int)0xFF0000FF,
1273 Green = (int)0xFF00FF00,
1275 Yellow = (int)0xFF00FFFF,
1277 Blue = (int)0xFFFF0000,
1279 Magenta = (int)0xFFFF00FF,
1281 Cyan = (int)0xFFFFFF00,
1283 Gray = (int)0xFFAAAAAA,
1285 White = (int)0xFFFFFFFF,
1286
1288 TransparentBlack = 0x00000000
1289 };
1290
1298public value class Color sealed
1299 {
1300 public:
1303 };
1304
1306Color CreateColor(int aRed,int aGreen,int aBlue)
1307 {
1308 return Color { (0xFF << 24) | ((aBlue & 0xFF) << 16) | ((aGreen & 0xFF) << 8) | (aRed & 0xFF) };
1309 }
1310
1312Color CreateColor(int aRed,int aGreen,int aBlue,int aAlpha)
1313 {
1314 return Color { ((aAlpha & 0xFF) << 24) | ((aBlue & 0xFF) << 16) | ((aGreen & 0xFF) << 8) | (aRed & 0xFF) };
1315 }
1316
1321public ref class BlendStyle sealed
1322 {
1323 public:
1328 property String^ Styles;
1330 property Color MainColor;
1332 property Color BorderColor;
1334 property Color TextColor;
1336 property Color TextGlowColor;
1338 property Color IconColor;
1339 };
1340
1345using BlendStyleSet = IVector<BlendStyle^>;
1346
1348public ref class TimeAndDistanceMatrix sealed
1349 {
1350 public:
1352 property int FromCount { int get(); };
1354 property int ToCount { int get(); };
1356 int Time(int aFromIndex,int aToIndex);
1358 int Distance(int aFromIndex,int aToIndex);
1359
1360 internal:
1361 TimeAndDistanceMatrix(CartoTypeCore::TimeAndDistanceMatrix* aMatrix);
1362
1363 std::unique_ptr<CartoTypeCore::TimeAndDistanceMatrix> m_matrix;
1364 };
1365
1367public ref class MapObjectId sealed
1368 {
1369 public:
1371 property int64_t Id;
1372 };
1373
1375public ref class TileSet sealed
1376 {
1377 public:
1384 property String^ FileNameTemplate;
1386 property Rect^ TileRange;
1388 property int FileZoom;
1390 property int MinDisplayZoom;
1392 property int MaxDisplayZoom;
1393 };
1394
1396public ref class TileParam sealed
1397 {
1398 public:
1400 property IVector<TileSet^>^ TileSetList;
1401 };
1402
1410public ref class Framework sealed
1411 {
1412 public:
1414 Framework(String^ aMapFileName,String^ aStyleSheetFileName,String^ aFontFileName,
1415 int aViewWidth,int aViewHeight);
1417 Framework(String^ aMapFileName,String^ aStyleSheetFileName,String^ aFontFileName,
1418 int aViewWidth,int aViewHeight,String^ aKey);
1421
1423 Result License(String^ aKey);
1425 property String^ Licensee { String^ get(); };
1432 Result SetProviderParam(String^ aKey,String^ aValue);
1434 property String^ ExpiryDate { String^ get(); };
1436 property String^ AppBuildDate { String^ get(); };
1437
1438 property String^ Copyright { String^ get(); };
1442 void SetCopyrightNotice(String^ aCopyright);
1446 Result SetLegend(NoticeAnchor aAnchor,double aWidth,String^ aUnit);
1448 property bool LegendEnabled { bool get(); void set(bool); }
1449
1452 Result SetScaleBar(NoticeAnchor aAnchor,double aWidth,String^ aUnit);
1454 property bool ScaleBarEnabled { bool get(); void set(bool); }
1455
1456 Result SetTurnInstructions(NoticePosition^ aPosition,Legend^ aLegend,bool aAbbreviate);
1458 Result SetTurnInstructions(NoticeAnchor aAnchor,double aWidth,String^ aWidthUnit,double aTextSize,String^ aTextSizeUnit,bool aAbbreviate);
1460 property bool TurnInstructionsEnabled { bool get(); void set(bool); }
1468 void SetTurnInstructionText(String^ aText);
1473 property String^ TurnInstructionText { String^ get(); };
1475 void DrawNoticesAutomatically(bool aEnable);
1477 property bool HasNotices { bool get(); }
1479 Result Configure(String^ aConfigFileName);
1481 Result LoadMap(String^ aMapFileName);
1483 Result LoadMap(String^ aMapFileName,String^ aEncryptionKey);
1493 Result CreateWritableMap(WritableMapType aType,String^ aFileName);
1500 Result SaveMap(int aHandle,String^ aFileName,FileType aFileType);
1507 Result ReadMap(int aHandle,String^ aFileName,FileType aFileType);
1513 Result WriteMapImage(String^ aFileName,FileType aFileType,bool aCompress);
1515 bool MapIsEmpty(int aHandle);
1517 property int MapCount { int get(); }
1518
1519 int MapHandle(int aIndex);
1521 bool MapIsWritable(int aIndex);
1530 void EnableMapByHandle(int aHandle,bool aEnable);
1534 property int LastMapHandle { int get(); }
1536 property int MainMapHandle { int get(); }
1538 property int MemoryMapHandle { int get(); }
1540 Result LoadFont(String^ aFontFileName);
1546 Result SetStyleSheet(String^ aStyleSheetFileName,int aIndex);
1554 Result SetStyleSheetData(String^ aData,int aIndex);
1569 void AppendStyleSheet(String^ aStyleSheetFileName);
1574 void AppendStyleSheetData(String^ aData);
1584 void EnableLayer(String^ aLayerName,bool aEnable);
1586 bool LayerIsEnabled(String^ aLayerName);
1588 property IVector<String^>^ LayerNames { IVector<String^>^ get(); };
1590 Result Resize(int aViewWidth,int aViewHeight);
1592 property double ResolutionDpi { double get(); void set(double); };
1594 property double ScaleDenominator { double get(); void set(double); };
1596 property double ScaleDenominatorInView { double get(); void set(double); };
1598 double DistanceInMeters(double aX1,double aY1,double aX2,double aY2,CoordType aCoordType);
1603 double ScaleDenominatorFromZoomLevel(double aZoomLevel,int aImageSizeInPixels);
1608 double ZoomLevelFromScaleDenominator(double aScaleDenominator,int aImageSizeInPixels);
1610 void SetPerspective(bool aSet);
1612 property bool Perspective { bool get(); void set(bool); }
1616 property bool Draw3DBuildings { bool get(); void set(bool); }
1617
1618 Result Zoom(double aZoomFactor);
1620 property bool AnimateTransitions { bool get(); void set(bool); }
1621
1622 property double LabelFPS { double get(); void set(double); }
1624 property bool FixedLabels { bool get(); void set(bool); }
1626 property double LabelUpAngle { double get(); void set(double); }
1637 Result ZoomAt(double aZoomFactor,double aX,double aY,CoordType aCoordType);
1639 Result Rotate(double aAngle);
1641 Result RotateAt(double aAngle,double aX,double aY,CoordType aCoordType);
1643 property double Rotation { double get(); void set(double); }
1645 Result SetRotationAt(double aAngle,double aX,double aY,CoordType aCoordType);
1647 Result RotateAndZoom(double aAngle,double aZoomFactor,double aX,double aY,CoordType aCoordType);
1649 void Pan(int aDx,int aDy);
1651 Result Pan(double aFromX,double aFromY,CoordType aFromCoordType,
1652 double aToX,double aToY,CoordType aToCoordType);
1654 Result SetViewCenter(double aX,double aY,CoordType aCoordType);
1656 Result SetView(double aX1,double aY1,double aX2,double aY2,CoordType aCoordType,int aMarginInPixels,int aMinScaleDenominator);
1658 void SetView(MapObject^ aMapObject,int aMarginInPixels,int aMinScaleDenominator);
1660 Result SetViewToMapObjects(MapObjectList^ aObjectList,int aMarginInPixels,int aMinScaleDenominator);
1662 Result SetViewToGeometry(Geometry^ aGeometry,int aMarginInPixels,int aMinScaleDenominator);
1664 Result SetViewToRoute(int aMarginInPixels,int aMinScaleDenominator);
1677 Result SetViewLimits(double aMinScaleDenominator,double aMaxScaleDenominator,Geometry^ aPanArea);
1678
1680 Result GetView(Rect^ aView,CoordType aCoordType);
1682 Result GetMapExtent(Rect^ aExtent,CoordType aCoordType);
1684 property String^ ProjectionAsProj4Param { String^ get(); }
1686 property ViewState^ ViewState { CartoType::ViewState^ get(); void set(CartoType::ViewState^); }
1687
1697 Result InsertMapObject(int aMapHandle,String^ aLayerName,Geometry^ aGeometry,
1698 String^ aStringAttributes,FeatureInfo^ aFeatureInfo,MapObjectId^ aId,bool aReplace);
1707 Result InsertPointMapObject(int aMapHandle,String^ aLayerName,double aX,double aY,
1708 CoordType aCoordType,String^ aStringAttributes,FeatureInfo^ aFeatureInfo,MapObjectId^ aId,bool aReplace);
1719 Result InsertCircleMapObject(int aMapHandle,String^ aLayerName,
1720 double aCenterX,double aCenterY,CoordType aCenterCoordType,double aRadius,CoordType aRadiusCoordType,
1721 String^ aStringAttributes,FeatureInfo^ aFeatureInfo,MapObjectId^ aId,bool aReplace);
1732 Result InsertEllipseMapObject(int aMapHandle,String^ aLayerName,double aCenterX,double aCenterY,CoordType aCenterCoordType,
1733 double aRadiusX,double aRadiusY,CoordType aRadiusCoordType,double aRotationDegrees,String^ aStringAttributes,FeatureInfo^ aFeatureInfo,MapObjectId^ aId,bool aReplace);
1744 Result InsertEnvelopeMapObject(int aMapHandle,String^ aLayerName,Geometry^ aGeometry,
1745 double aRadius,CoordType aRadiusCoordType,
1746 String^ aStringAttributes,FeatureInfo^ aFeatureInfo,MapObjectId^ aId,bool aReplace);
1747
1767 Result InsertPushPin(double aX,double aY,CoordType aCoordType,String^ aStringAttributes,String^ aColor,int aIconCharacter,MapObjectId^ aId);
1768
1778 Result InsertCopyOfMapObject(int aMapHandle,String^ aLayerName,MapObject^ aObject,double aEnvelopeRadius,
1779 CoordType aRadiusCoordType,MapObjectId^ aId,bool aReplace);
1780
1785 Result DeleteMapObjects(int aMapHandle,int64_t aStartId,int64_t aEndId,String^ aCondition);
1790 MapObject^ LoadMapObject(int aMapHandle,int64_t aId);
1799 Result ReadGpx(int aMapHandle,String^ aFileName);
1808 Geometry^ Range(CartoType::RouteProfile^ aProfile,double aX,double aY,CoordType aCoordType,double aTimeOrDistance,bool aIsTime);
1817 TimeAndDistanceMatrix^ TimeAndDistanceMatrix(IVector<PointValue>^ aFrom,IVector<PointValue>^ aTo,CoordType aCoordType);
1828 bool MutuallyAccessible(IVector<PointValue>^ aPointArray,CoordType aCoordType,IVector<int>^ aGroupArray);
1836 double Area(Geometry^ aGeometry);
1843 double Length(Geometry^ aGeometry);
1851 double ContourArea(Geometry^ aGeometry,int aContourIndex);
1858 double ContourLength(Geometry^ aGeometry,int aContourIndex);
1860 Result ConvertCoords(Geometry^ aGeometry,CoordType aToCoordType);
1862 Result ConvertPoint(Point^ aPoint,CoordType aFromCoordType,CoordType aToCoordType);
1864 double PixelsToMeters(double aPixels);
1866 double MetersToPixels(double aMeters);
1868 property String^ DataSetName { String^ get(); };
1869
1877 Result EditNewLineObject(double aX,double aY);
1879 Result EditNewPolygonObject(double aX,double aY);
1881 Result EditMoveCurrentPoint(double aX,double aY);
1894 Result EditSelectNearestPoint(double aX,double aY,double aRadiusInMillimeters);
1902 Result EditInsertCurrentObject(String^ aLayer,MapObjectId^ aId,bool aReplace);
1904 Result EditSetCurrentObjectStringAttribute(String^ aKey,String^ aValue);
1919
1928 bool ClipBackgroundToMapBounds(bool aEnable);
1929
1946
1947 // adding and removing style sheet icons loaded from files
1961 Result LoadIcon(String^ aFileName,String^ aId,int aHotSpotX,int aHotSpotY,int aLabelX,int aLabelY);
1963 void UnloadIcon(String^ aId);
1964
1965 // finding map objects
1975 Result FindInDisplay(MapObjectList^ aObjectList,int aMaxObjectCount,double aX,double aY,double aRadius);
1977 Result FindAddress(MapObjectList^ aObjectList,int aMaxObjectCount,Address^ aAddress,bool aFuzzy);
1979 Result FindInLayer(MapObjectList^ aObjectList,int aMaxObjectCount,String^ aLayer,double aMinX,double aMinY,double aMaxX,double aMaxY,CoordType aCoordType);
1988 Result FindText(MapObjectList^ aObjectList,int aMaxObjectCount,String^ aText,StringMatchMethod aMatchMethod,String^ aLayers,String^ aAttrib);
1993 Result Find(MapObjectList^ aObjectList,FindParam^ aFindParam);
2000 Result FindGroups(MapObjectGroupList^ aObjectGroupList,FindParam^ aFindParam);
2002 Result FindNearby(MapObjectList^ aObjectList,FindNearbyParam^ aFindNearbyParam);
2003
2021 Result FindPointsInPath(MapObjectList^ aObjectList,Geometry^ aPath,FindParam^ aFindParam);
2032 int Height(double aX,double aY,CoordType aCoordType);
2033
2034 // style sheet variables
2036 void SetStyleSheetVariableToString(String^ aVariableName,String^ aValue);
2038 void SetStyleSheetVariableToInt(String^ aVariableName,int aValue);
2039
2040 // night mode and color blending
2042 property bool NightMode { bool get(); void set(bool); }
2053 property Color NightModeColor { Color get(); void set(Color); }
2060
2061 // geocoding
2070 String^ GeoCodeSummary(MapObject^ aMapObject);
2077 Result GetAddress(Address^ aAddress,MapObject^ aMapObject);
2078
2083 Result GetAddressFast(Address^ aAddress,MapObject^ aMapObject);
2084
2093 String^ GeoCodeSummary(double aX,double aY,CoordType aCoordType);
2094
2101 Result GetAddress(Address^ aAddress,double aX,double aY,CoordType aCoordType);
2102
2103 // navigation
2114 property RouterType PreferredRouterType { RouterType get(); void set(RouterType); }
2128 property RouterType ActualRouterType { RouterType get(); }
2129
2137 Result StartNavigation(IVector<double>^ aX,IVector<double>^ aY,CoordType aCoordType);
2139 Result StartNavigation(double aStartX,double aStartY,CoordType aStartCoordType,
2140 double aEndX,double aEndY,CoordType aEndCoordType);
2144 Route^ CreateRoute(RouteProfile^ aProfile,IVector<double>^ aX,IVector<double>^ aY,CoordType aCoordType);
2169 bool aStartFixed,bool aEndFixed,int aIterations);
2171 Route^ CreateBestRoute(RouteProfile^ aProfile,IVector<double>^ aX,IVector<double>^ aY,CoordType aCoordType,
2172 bool aStartFixed,bool aEndFixed,int aIterations);
2173
2174
2183 Route^ CreateRouteFromXml(RouteProfile^ aProfile,String^ aFilenameOrData);
2184
2204 property bool NavigationEnabled { bool get(); void set(bool); }
2245
2263 Result DisplayRoute(bool aEnabled);
2276 Result ReadRouteFromXml(String^ aFileNameOrData);
2278 Result WriteRouteAsXml(CartoType::Route^ aRoute,String^ aFileName,FileType aFileType);
2325 Result Navigate(int aValidity,double aTime,double aLong,double aLat,double aSpeed,double aBearing,double aHeight);
2334 property Turn^ FirstTurn { Turn^ get(); }
2342 property Turn^ SecondTurn { Turn^ get(); }
2351 property Turn^ ContinuationTurn { Turn^ get(); }
2352
2355 property String^ Framework::VoiceInstruction { String^ get(); }
2357 property NavigatorParam^ NavigatorParam { CartoType::NavigatorParam^ get(); void set(CartoType::NavigatorParam^); }
2366 property LocationMatchParam^ LocationMatchParam { CartoType::LocationMatchParam^ get(); void set(CartoType::LocationMatchParam^); }
2368 property int NavigationMinimumFixDistance { int get(); void set(int); }
2370 property int NavigationTimeOffRouteTolerance { int get(); void set(int); }
2372 property int NavigationDistanceOffRouteTolerance { int get(); void set(int); }
2392 int SetNearbyObjectWarning(int aId,String^ aLayer,String^ aCondition,double aMaxDistance,int aMaxObjectCount);
2408 int SetVehicleTypeWarning(double aMaxDistance,int aMaxObjectCount);
2416 property double DistanceToDestination { double get(); }
2418 property double EstimatedTimeToDestination { double get(); }
2428 Result FindNearestRoad(NearestRoadInfo^ aInfo,double aX,double aY,CoordType aCoordType,
2429 double aHeadingInDegrees,bool aDisplayPosition);
2439 Result DisplayPositionOnNearestRoad(double aLong,double aLat,double aHeadingInDegrees,NearestRoadInfo^ aInfo);
2445 void SetVehiclePosOffset(double aXOffset,double aYOffset);
2448
2454 Result SetFollowScale(double aMinScale,double aSlowScale,double aFastScale,double aMaxScale);
2455
2458
2464 property String^ Locale { String^ get(); void set(String^); }
2465
2467 property bool MetricUnits { bool get(); void set(bool); }
2468
2470 String^ DistanceToString(double aDistanceInMeters,bool aAbbreviate);
2471
2473 String^ TimeToString(double aTimeInSeconds);
2474
2481 String^ SetCase(String^ aString,LetterCase aCase);
2482
2502 Result AddTrafficInfo(MapObjectId^ aId,TrafficInfo^ aTrafficInfo,LocationRef^ aLocationRef);
2503
2527 Result AddPolygonSpeedLimit(MapObjectId^ aId,Geometry^ aPolygon,double aSpeed,int aVehicleTypes);
2528
2556 Result AddLineSpeedLimit(MapObjectId^ aId,Geometry^ aLine,double aSpeed,int aVehicleTypes);
2557
2584 Result AddClosedLineSpeedLimit(MapObjectId^ aId,Geometry^ aLine,double aSpeed,int aVehicleTypes);
2585
2599
2612
2615
2619 property bool TrafficInfoEnabled { bool get(); void set(bool); }
2620
2627
2630
2633
2635 bool Tracking();
2636
2638 property bool DisplayTrack { bool get(); void set(bool); }
2639
2644 property Geometry^ Track { Geometry^ get(); }
2645
2647 property double TrackLengthInMeters { double get(); }
2648
2650 Result WriteTrackAsXml(String^ aFileName);
2651
2653 property String^ TrackAsXmlString { String^ get(); }
2654
2656 property Result LastError { Result get(); }
2657
2658 internal:
2659 CartoTypeCore::Framework* GetFramework() { return m_framework.get(); }
2660
2661 private:
2662 std::unique_ptr<CartoTypeCore::Framework> m_framework;
2663 CartoTypeCore::Result m_error;
2664 };
2665
2680
2681[Flags]
2683public enum class LegendStyleFlag: unsigned int
2684 {
2707 };
2708
2722public ref class Legend sealed
2723 {
2724 public:
2726 Legend(Framework^ aFramework);
2727
2729 Legend(Framework^ aFramework,uint32_t aStyle);
2730
2732 void Clear();
2733
2737 void AddMapObjectLine(MapObjectType aType,String^ aLayer,FeatureInfo^ aFeatureInfo,String^ aStringAttrib,String^ aLabel);
2738
2740 void AddTextLine(String^ aText);
2741
2746
2750 void AddTurnLine(bool aAbbreviate);
2751
2753 void SetMainStyleSheet(String^ aData);
2754
2762 void SetExtraStyleSheet(String^ aData);
2763
2766
2768 void SetBorder(Color aColor,double aStrokeWidth,double aRadius,String^ aUnit);
2769
2771 void SetMarginWidth(double aMarginWidth,String^ aUnit);
2772
2774 void SetMinLineHeight(double aLineHeight,String^ aUnit);
2775
2777 void SetLabelWrapWidth(double aWrapWidth,String^ aUnit);
2778
2780 void SetFontFamily(String^ aFontFamily);
2781
2783 void SetFontStyle(uint32_t aStyle);
2784
2786 void SetFontSize(double aFontSize,String^ aUnit);
2787
2789 void SetTextColor(Color aTextColor);
2790
2792 void SetDiagramColor(Color aDiagramColor);
2793
2795 void SetAlignment(Align aAlignment);
2796
2798 void SetPolygonRotation(double aDegrees);
2799
2802
2807 void SetTurnInstruction(String^ aText);
2808
2814
2815 internal:
2816 CartoTypeCore::Legend* GetLegend() { return m_legend.get(); }
2817
2818 private:
2819 std::unique_ptr<CartoTypeCore::Legend> m_legend;
2820 };
2821
2833public ref class MapRenderer sealed
2834 {
2835 public:
2839 void Draw();
2840
2841 private:
2842 std::shared_ptr<class CartoTypeCore::CVectorTileServer> m_vector_tile_server;
2843 };
2844
2846public ref class Util sealed
2847 {
2848 public:
2850 static String^ Description();
2852 static String^ Version();
2854 static String^ Build();
2855
2857 static double GreatCircleDistanceInMeters(double aLong1,double aLat1,double aLong2,double aLat2);
2862 static double AzimuthInDegrees(double aLong1,double aLat1,double aLong2,double aLat2);
2864 static Point^ PointAtAzimuth(double aLong,double aLat,double aDir,double aDistanceInMeters);
2875 static String^ SetAttribute(String^ aString,String^ aKey,String^ aValue);
2877 static String^ ErrorString(Result aError);
2887 static String^ UKGridReferenceFromDegrees(PointValue aPointInDegrees,int aDigits);
2896 static PointValue PointInDegreesFromUKGridReference(String^ aGridReference);
2897 };
2898
2899}
A structured address. Any field may be empty or null, but at least one field should be non-empty for ...
Definition CartoTypeWrapper.h:855
String^ Feature
The name of a feature or place of interest.
Definition CartoTypeWrapper.h:867
String^ Country
The country.
Definition CartoTypeWrapper.h:881
String^ PostCode
The postal code.
Definition CartoTypeWrapper.h:883
String^ Building
The name or number of the building.
Definition CartoTypeWrapper.h:865
String^ AdminArea
The administrative area: state, province, etc.
Definition CartoTypeWrapper.h:879
String ^ ToString(bool aFull)
Returns the address as a string. If aFull is true, supplies the main administrative division (state,...
String^ Locality
The village, town or city.
Definition CartoTypeWrapper.h:873
String^ Island
The island.
Definition CartoTypeWrapper.h:875
String^ SubLocalty
The suburb, neighborhood, quarter or other subdivision of the locality.
Definition CartoTypeWrapper.h:871
String^ SubAdminArea
The subsidiary administrative area: district, parish, etc.
Definition CartoTypeWrapper.h:877
String^ Street
The street, road or other highway.
Definition CartoTypeWrapper.h:869
A rule to modify a certain style or styles. The colors are blended with colors in a style,...
Definition CartoTypeWrapper.h:1322
Color MainColor
The color to be blended with the colors in the style.
Definition CartoTypeWrapper.h:1330
Color IconColor
If not null, the forced color for icons.
Definition CartoTypeWrapper.h:1338
Color BorderColor
If not null, the color to be blended with border colors.
Definition CartoTypeWrapper.h:1332
Color TextColor
If not null, the color to be blended with text colors.
Definition CartoTypeWrapper.h:1334
String^ Styles
A space or comma separated list of wild-card style names. The special name '[legend]' is used for the...
Definition CartoTypeWrapper.h:1328
Color TextGlowColor
If not null, the color to be blended with text glow colors.
Definition CartoTypeWrapper.h:1336
A color>
Definition CartoTypeWrapper.h:1299
int Value
The color value as a 32-bit integer.
Definition CartoTypeWrapper.h:1302
Feature information for a map object, represented internally as a 32-bit value.
Definition CartoTypeFeatureInfo.h:414
Parameters for finding nearby places.
Definition CartoTypeWrapper.h:160
FeatureType Type
The type of place to search for. The value FeatureType::Invalid causes Text only to be used.
Definition CartoTypeWrapper.h:165
String^ Text
The name, full or partial, of the place.
Definition CartoTypeWrapper.h:167
Parameters for the general Find function.
Definition CartoTypeWrapper.h:174
Geometry^ Location
The current location. If it is non-empty, objects in or near this region are preferred.
Definition CartoTypeWrapper.h:186
double TimeOut
The maximum time in seconds allowed for a find operation. Find operations are not guaranteed to retur...
Definition CartoTypeWrapper.h:214
StringMatchMethod StringMatchMethod
The string matching method used for text searching; default = StringMatchExact.
Definition CartoTypeWrapper.h:202
String^ Attributes
Attributes used in text searching (if Text is not empty). If Attributes is empty, all attributes are ...
Definition CartoTypeWrapper.h:195
String^ Layers
A list of layer names separated by spaces or commas. If it is null or empty all layers are searched....
Definition CartoTypeWrapper.h:188
Geometry^ Clip
The clip path; no clipping is done if Clip is null or empty.
Definition CartoTypeWrapper.h:184
bool Merge
If Merge is true adjoining objects with the same name and attributes may be merged into a single obje...
Definition CartoTypeWrapper.h:209
String^ Text
The text to search for. Unless null or empty, restricts the search to objects containing Text in one ...
Definition CartoTypeWrapper.h:200
int MaxObjectCount
The maximum number of objects to return; default = INT32_MAX.
Definition CartoTypeWrapper.h:182
String^ Condition
Unless null or empty, a style sheet condition (e.g., "@sub_type=2") which must be fulfilled by all th...
Definition CartoTypeWrapper.h:207
The Framework class provides a high-level API for CartoType, through which map data can be loaded,...
Definition CartoTypeWrapper.h:1411
void EnableMapByHandle(int aHandle, bool aEnable)
Enables or disables a map, selecting it by handle.
Result FindNearestRoad(NearestRoadInfo^ aInfo, double aX, double aY, CoordType aCoordType, double aHeadingInDegrees, bool aDisplayPosition)
Finds the nearest road to the point (aX,aY), returns information about it in aInfo,...
void AppendStyleSheet(String^ aStyleSheetFileName)
Loads an extra style sheet from a file. Extra style sheets are compiled after the main style sheet.
double MetersToPixels(double aMeters)
Converts a distance in map meters (projected meters) to pixels.
double TrackLengthInMeters
The length of the current track in meters.
Definition CartoTypeWrapper.h:2647
Result Rotate(double aAngle)
Rotates the map by an angle given in degrees.
Result AddPolygonSpeedLimit(MapObjectId^ 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.
Result FindPolygonsContainingPath(MapObjectList^ aObjectList, Geometry^ aPath, FindParam^ aFindParam)
Finds all polygon objects containing a certain path.
Result LastError
The result of calling the last non-void function that did not return a result code.
Definition CartoTypeWrapper.h:2656
Result StartNavigation(double aStartX, double aStartY, CoordType aStartCoordType, double aEndX, double aEndY, CoordType aEndCoordType)
Starts navigating between the specified points. Call Navigate as needed to supply the vehicle positio...
Result SetFollowScale(double aMinScale, double aSlowScale, double aFastScale, double aMaxScale)
Sets the scale denominators to be used during navigation when moving at various speeds....
int NavigationDistanceOffRouteTolerance
Sets the maximum time off route in seconds before a new route is calculated.
Definition CartoTypeWrapper.h:2372
Result CreateWritableMap(WritableMapType aType)
Creates a writable (editable) map of the specified type and loads it.
double ContourLength(Geometry^ aGeometry, int aContourIndex)
Returns the length of a geometry object on the surface of the earth in meters using the WGS84 ellipso...
bool TurnInstructionsEnabled
Enables or disables the drawing of a turn instruction notice that has been supplied using SetTurnInst...
Definition CartoTypeWrapper.h:1460
NavigationState NavigationState
The current navigation state.
Definition CartoTypeWrapper.h:2353
Result DeleteMapObjects(int aMapHandle, int64_t aStartId, int64_t aEndId, String^ aCondition)
Deletes map objects with IDs in the range aStartId...aEndId inclusive. If aCondition is non-null,...
Result SetLegend(NoticePosition^ aPosition, Legend^ aLegend)
Sets the legend. If no legend object is supplied (if aLegend is null), a standard legend is created.
MapObjectList ^ CopyNearbyObjects()
Returns copies of all the objects for which nearby object warnings exist.
String^ Copyright
Returns the copyright string stored in the main map database.
Definition CartoTypeWrapper.h:1438
void SetCopyrightNotice()
Sets the copyright notice displayed at the bottom-right corner of the map to that of the main map dat...
bool DisplayTrack
Whether the track is displayed.
Definition CartoTypeWrapper.h:2638
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.
double LabelFPS
The number of frames per second used when drawing labels. Clamped to the range 1.....
Definition CartoTypeWrapper.h:1622
Result SetViewToWholeMap()
Shows the whole map, zooming out as far as necessary.
int BuiltInRouteProfileCount
Returns the number of built-in routing profiles owned by the router.
Definition CartoTypeWrapper.h:2244
CartoType::Route ^ Route()
Returns the current route.
void SetCopyrightNotice(String^ aCopyright)
Sets the copyright notice displayed at the bottom-right corner of the map.
String^ DataSetName
Returns the name of the data in the main map database.
Definition CartoTypeWrapper.h:1868
Route ^ CreateRoute(RouteProfile^ aProfile, IVector< double >^ aX, IVector< double >^ aY, CoordType aCoordType)
A version of CreateRoute taking separate arrays of X and Y coords.
Geometry ^ Range(CartoType::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...
Color NightModeColor
The night mode color, which should be a dark color (although this is not enforced).
Definition CartoTypeWrapper.h:2053
Result InsertCopyOfMapObject(int aMapHandle, String^ aLayerName, MapObject^ aObject, double aEnvelopeRadius, CoordType aRadiusCoordType, MapObjectId^ aId, bool aReplace)
Inserts an object by copying an existing object.
Result SetViewToRoute(int aMarginInPixels, int aMinScaleDenominator)
Sets the view to show the current route, with a margin in pixels, and at a minimum scale.
Result GetAddressFast(Address^ aAddress, MapObject^ aMapObject)
Creates an address for a map object, using attributes of the object only. Returns ErrorNotFound if th...
void Pan(int aDx, int aDy)
Moves the map by aDx pixels horizontally and aDy pixels vertically.
String ^ WriteRouteAsXmlString(CartoType::Route^ aRoute, FileType aFileType)
Writes a route as XML string in the format selected by aFileType: CartoTypeRoute or Gpx.
bool DeleteNearbyObjectWarning(int aId)
Deletes the nearby object warning or vehicle type warning with an ID of aId and returns true if any s...
void SetStyleSheetVariableToInt(String^ aVariableName, int aValue)
Sets a style sheet variable to an integer value.
Result ConvertCoords(Geometry^ aGeometry, CoordType aToCoordType)
Converts the coordinates of a geometry object to another coordinate type.
Result AddLineSpeedLimit(MapObjectId^ 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^ ExpiryDate
Returns the expiry date of the license in the form YYYY-MM-DD.
Definition CartoTypeWrapper.h:1434
NavigatorParam^ NavigatorParam
Parameters affecting the working of the navigation system.
Definition CartoTypeWrapper.h:2357
Result EditInsertCurrentObject(String^ aLayer, MapObjectId^ aId, bool aReplace)
Inserts the currently edited object into a chosen layer.
Result LoadFont(String^ aFontFileName)
Loads a font in addition to those already loaded.
void DrawNoticesAutomatically(bool aEnable)
Controls whether notices (the scale bar, legend and copyright notice) are drawn automatically.
String ^ GeoCodeSummary(double aX, double aY, CoordType aCoordType)
Returns a string summarizing a geocode for a geographical location.
int NavigationMinimumFixDistance
Sets the minimum distance between location fixes in metres that is taken as an actual move.
Definition CartoTypeWrapper.h:2368
double ResolutionDpi
The display resolution used by CartoType in dots per inch. It has to be set correctly for map scaling...
Definition CartoTypeWrapper.h:1592
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.
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.
String ^ RouteInstructions(CartoType::Route^ aRoute)
Returns instructions for a route in the language of the current locale, or in English if that languag...
bool FixedLabels
True if labels are drawn, as far as possible, in fixed positions, and not moved when the map is panne...
Definition CartoTypeWrapper.h:1624
double ContourArea(Geometry^ aGeometry, int aContourIndex)
Returns the area of a geometry object on the surface of the earth in square meters using the WGS84 el...
bool ScaleBarEnabled
Enables or disables the drawing of a scale bar that has been supplied using SetScale.
Definition CartoTypeWrapper.h:1454
CartoType::FollowMode FollowMode
The follow mode, which controls the way the map tracks the user location and heading.
Definition CartoTypeWrapper.h:2447
Result ReadMap(int aHandle, String^ aFileName, FileType aFileType)
Reads map data from aFileName in the format given by aFileType and merge it into the map identified b...
Result SetTurnInstructions(NoticePosition^ aPosition, Legend^ aLegend, bool aAbbreviate)
Creates turn instructions with a specified width and position in the display. If aLegend is supplied,...
double ZoomLevelFromScaleDenominator(double aScaleDenominator, int aImageSizeInPixels)
Calculates the Open Street Map zoom level (0 maps the length of the equator to aImageSizeInPixels pix...
bool AnimateTransitions
Whether transitions are smoothly animated in graphics-accelerated drawing.
Definition CartoTypeWrapper.h:1620
String ^ SetCase(String^ aString, LetterCase aCase)
Sets the letter case of a string.
Result Find(MapObjectList^ aObjectList, FindParam^ aFindParam)
A general search function, allowing any combination of clip rectangle, choice of layers,...
String ^ TimeToString(double aTimeInSeconds)
Returns a time duration as a string containing locale-dependent words for hours, minutes and seconds.
bool TrafficInfoEnabled
Whether traffic information is used when routing.
Definition CartoTypeWrapper.h:2619
Result FindAddress(MapObjectList^ aObjectList, int aMaxObjectCount, Address^ aAddress, bool aFuzzy)
Finds objects matching the specified address, which must have at least one field that is not empty.
Result EditNewPolygonObject(double aX, double aY)
Creates a new editable polygon object starting at the specified point in display coordinates.
double EstimatedTimeToDestination
Returns the estimated time to the destination in seconds. Return zero if there is no route.
Definition CartoTypeWrapper.h:2418
Result UnloadMapByHandle(int aHandle)
Unloads a map, selecting it by handle. It is illegal to unload the main map database or the in-memory...
CartoType::RouteProfile ^ RouteProfile()
Returns the current route profile.
String^ TrackAsXmlString
Writes the current track to a string as XML in GPX format.
Definition CartoTypeWrapper.h:2653
Turn^ FirstTurn
The first turn during navigation.
Definition CartoTypeWrapper.h:2334
double Area(Geometry^ aGeometry)
Returns the area of a geometry object on the surface of the earth in square meters using the WGS84 el...
double Rotation
The angle of the map in degrees, measured clockwise from north-up.
Definition CartoTypeWrapper.h:1643
Result InsertPointMapObject(int aMapHandle, String^ aLayerName, double aX, double aY, CoordType aCoordType, String^ aStringAttributes, FeatureInfo^ aFeatureInfo, MapObjectId^ aId, bool aReplace)
Inserts a point object into one of the writable maps, identifying it by its handle....
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....
void EndTracking()
Stops tracking (storing and displaying track points). Does not delete the current track.
double DistanceInMeters(double aX1, double aY1, double aX2, double aY2, CoordType aCoordType)
Returns the great-circle distance in meters, assuming a spherical earth, between two points.
Result AddTrafficInfo(MapObjectId^ aId, TrafficInfo^ aTrafficInfo, LocationRef^ aLocationRef)
Adds traffic information, such as a speed restriction, prohibition on the use of a 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.
Result InsertEnvelopeMapObject(int aMapHandle, String^ aLayerName, Geometry^ aGeometry, double aRadius, CoordType aRadiusCoordType, String^ aStringAttributes, FeatureInfo^ aFeatureInfo, MapObjectId^ aId, bool aReplace)
Inserts a map object that is an envelope around some geometry, at a radius of aRadius; it can also be...
Route ^ CreateBestRoute(RouteProfile^ aProfile, IVector< double >^ aX, IVector< double >^ aY, CoordType aCoordType, bool aStartFixed, bool aEndFixed, int aIterations)
A version of CreateBestRoute taking separate arrays of X and Y coords.
BlendStyleSet^ BlendStyleSet
The blend style. To remove the current blend style, set it to null or empty.
Definition CartoTypeWrapper.h:2059
Result InsertPushPin(double aX, double aY, CoordType aCoordType, String^ aStringAttributes, String^ aColor, int aIconCharacter, MapObjectId^ aId)
Inserts a pushpin: a point object belonging to the 'pushpin' layer. The pushpin is inserted into the ...
Result StartNavigation(RouteCoordSet^ aCoordSet)
Starts navigating through a series of at least two points. Call Navigate as needed to supply the vehi...
double EditGetCurrentObjectArea()
Returns the area of the currently edited object. For line objects returns 0. For polygon objects retu...
Result GetAddress(Address^ aAddress, MapObject^ aMapObject)
Creates an address for a map object.
Result EditDeleteCurrentObject()
Deletes the current editable object.
String^ Framework:: VoiceInstruction
When navigating, the voice instruction to be issued, if any, after a call to Navigate.
Definition CartoTypeWrapper.h:2355
Result ReadRouteFromXml(String^ aFileNameOrData)
Reads a route from XML (a GPX file or a CartoType route file) and displays it.
Result SetViewToGeometry(Geometry^ aGeometry, int aMarginInPixels, int aMinScaleDenominator)
Sets the view to show a certain geometry, with a margin in pixels, and at a minimum scale.
bool Draw3DBuildings
Whether buildings are drawn in 3D where data is available.
Definition CartoTypeWrapper.h:1616
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...
double Length(Geometry^ aGeometry)
Returns the length of a geometry object on the surface of the earth in meters using the WGS84 ellipso...
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.
Result UseRoute(CartoType::Route^ aRoute)
Uses an existing route and displays it. This function resets the navigation state.
int Height(double aX, double aY, CoordType aCoordType)
Returns the height in metres at a single point, or -32768 if it is unavailable.
double ScaleDenominatorFromZoomLevel(double aZoomLevel, int aImageSizeInPixels)
Calculates the scale denominator at the equator for a certain Open Street Map zoom level (0 maps the ...
int MemoryMapHandle
The handle of the in-memory map used for routing.
Definition CartoTypeWrapper.h:1538
int NavigationTimeOffRouteTolerance
Sets the maximum distance from the route in metres before the vehicle is deemed off-route.
Definition CartoTypeWrapper.h:2370
void SetPerspective(bool aSet)
Turns perspective mode on or off.
Result EditSelectNearestPoint(double aX, double aY, double aRadiusInMillimeters)
Selects an editable object by selecting the nearest point of any editable object within a given radiu...
Result EditSetCurrentObjectStringAttribute(String^ aKey, String^ aValue)
Sets a string attribute in the currently edited object. If aKey is empty, sets the label....
Result LoadMapsAutomatically(TileParam^ aParam)
Initiates automatic map loading, specifying a set of tile maps, which must be compatible with the bas...
RouterType ActualRouterType
The actual router type.
Definition CartoTypeWrapper.h:2128
Result WriteTrackAsXml(String^ aFileName)
Writes the current track to a file as XML in GPX format.
Result FindInLayer(MapObjectList^ aObjectList, int aMaxObjectCount, String^ aLayer, double aMinX, double aMinY, double aMaxX, double aMaxY, CoordType aCoordType)
Finds all objects in a named layer or list of layers (space or comma separated), within specified bou...
Result DisplayPositionOnNearestRoad(double aLong, double aLat, double aHeadingInDegrees, NearestRoadInfo^ aInfo)
Moves the route position object and the route vector object to the nearest point on a road.
Result SetViewLimits(double aMinScaleDenominator, double aMaxScaleDenominator, Geometry^ aPanArea)
Sets the limits to zooming and panning.
bool LegendEnabled
Enables or disables the drawing of a legend that has been supplied using SetLegend.
Definition CartoTypeWrapper.h:1448
Result ReverseRoute()
Reverses the order of the current route point, recreates the route, and displays it on the map....
LocationMatchParam^ LocationMatchParam
The current location match parameters.
Definition CartoTypeWrapper.h:2366
void SetVehiclePosOffset(double aXOffset, double aYOffset)
Sets the vehicle position when navigating as an offset from the center of the display,...
Result FindGroups(MapObjectGroupList^ aObjectGroupList, FindParam^ aFindParam)
A search function to make interactive searching easier. It returns map objects grouped by names which...
double LabelUpAngle
The up direction for labels as an angle in degrees measured clockwise from straight up.
Definition CartoTypeWrapper.h:1626
void DeleteTrack()
Deletes the current track. Does not affect whether tracking is on or off.
Result LoadNavigationData()
Loads navigation data for the current map.
Result FindText(MapObjectList^ aObjectList, int aMaxObjectCount, String^ aText, StringMatchMethod aMatchMethod, String^ aLayers, String^ aAttrib)
Finds objects with attributes matching aText.
Result GetNavigationPosition(Point^ aPos, CoordType aCoordType)
Returns the current position used by the navigation system. This may be an extrapolated position.
Result RotateAndZoom(double aAngle, double aZoomFactor, double aX, double aY, CoordType aCoordType)
Simultaneously rotates and zooms at a certain point given in aCoordType. The rotation is in degrees.
Result EditSetWritableMap(int aMapHandle)
Sets the map used to store editable objects. Does not affect objects already created....
Route ^ CreateBestRoute(RouteProfile^ aProfile, RouteCoordSet^ aCoordSet, bool aStartFixed, bool aEndFixed, int aIterations)
Creates an optimized route to visit a series of waypoints in any order.
Result SetProviderParam(String^ aKey, String^ aValue)
Sets a parameter to be used by a data provider. For example, to set the 'permanent' parameter used by...
String ^ DistanceToString(double aDistanceInMeters, bool aAbbreviate)
Returns a distance as a string containing locale-dependent words for kilometres, metres,...
bool LayerIsEnabled(String^ aLayerName)
Returns the enabled status of a named layer. When a layer is disabled it is not drawn but is still se...
void SetStyleSheetVariableToString(String^ aVariableName, String^ aValue)
Sets a style sheet variable to a string value.
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.
Result CreateWritableMap(WritableMapType aType, String^ aFileName)
Creates a writable (editable) map of the specified type, supplying a filename, and loads it.
int SetNearbyObjectWarning(int aId, String^ aLayer, String^ aCondition, double aMaxDistance, int aMaxObjectCount)
Adds or replaces a nearby object warning.
String^ TurnInstructionText
Returns the instruction to be displayed for the current turn. This function returns an empty string i...
Definition CartoTypeWrapper.h:1473
CartoType::RouteProfile ^ BuiltInRouteProfile(int aIndex)
Returns a built-in routing profile selected by its index, or null if the index is out of range.
Result SetRouteProfile(CartoType::RouteProfile^ aProfile)
Sets the routing profile.
Result Resize(int aViewWidth, int aViewHeight)
Sets the map to a new size in pixels.
Result DeleteTrafficInfo(int64_t aId)
Deletes traffic information: a speed limit, forbidden area, or other information, referring to it by ...
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.
void EnableLayer(String^ aLayerName, bool aEnable)
Enables or disables a named map layer.
Result LoadIcon(String^ aFileName, String^ aId, int aHotSpotX, int aHotSpotY, int aLabelX, int aLabelY)
Loads an icon from a file. It will be used whenever the ID aId is referenced in the style sheet,...
bool ClearNearbyObjectWarnings()
Clears all nearby object warnings, and the objects themselves, and returns true if any objects were d...
Result DeleteRoute()
Deletes the route.
void EndNavigation()
Stops navigating. Current routes remain in existence. Navigation can be resumed using startNavigation...
void UnloadIcon(String^ aId)
Unloads an icon previously loaded using LoadIcon.
MapMetaData ^ MapMetaData(int aIndex)
Returns the metadata for a map, identified by its index, if available. Returns null if no metadata is...
double EditGetCurrentObjectLength()
Returns the length of the currently edited object. For line objects the length in meters....
Result SetViewCenter(double aX, double aY, CoordType aCoordType)
Sets the center of the view to a point given in display pixels, map coordinates or degrees longitude ...
Result EditSetCurrentObjectFeatureInfo(FeatureInfo^ aFeatureInfo)
Sets the feature info of the currently edited object.
Result SaveMap(int aHandle, String^ aFileName, FileType aFileType)
Saves a map identified by its handle by writing it the specified format. Only writable map databases ...
Result Configure(String^ aConfigFileName)
Configures the CartoType framework by reading an XML configuration file.
Turn^ ContinuationTurn
The continuation turn during navigation.
Definition CartoTypeWrapper.h:2351
Result SetRouteProfileType(CartoType::RouteProfileType aProfileType)
Sets the route profile to one of the standard types.
Result SetView(double aX1, double aY1, double aX2, double aY2, CoordType aCoordType, int aMarginInPixels, int aMinScaleDenominator)
Sets the view to show a certain rectangle, with a margin in pixels, and at a minimum scale.
bool Perspective
Perspective mode: on or off.
Definition CartoTypeWrapper.h:1612
Result AddForbiddenArea(MapObjectId^ aId, Geometry^ aPolygon)
Marks a certain polygon as forbidden for routing.
Result LoadMap(String^ aMapFileName, String^ aEncryptionKey)
Loads an encrypted map to be overlaid on the current map.
bool MetricUnits
Whether metric or non-metric units are used for distances.
Definition CartoTypeWrapper.h:2467
int SetTileOverSizeZoomLevels(int aLevels)
Sets the number of zoom levels by which to zoom out when creating a tile bitmap returned by TileBitma...
Route ^ CreateRouteFromXml(RouteProfile^ aProfile, String^ aFilenameOrData)
Creates a route by reading it from XML data in GPX or CartoType route format.
int BuiltInRouteProfileIndex()
Returns the current built-in route profile index. Returns zero if there are no built-in route profile...
String^ AppBuildDate
Returns the date on which the application was built in the form YYYY-MM-DD.
Definition CartoTypeWrapper.h:1436
Result AddClosedLineSpeedLimit(MapObjectId^ 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 ...
Result InsertCircleMapObject(int aMapHandle, String^ aLayerName, double aCenterX, double aCenterY, CoordType aCenterCoordType, double aRadius, CoordType aRadiusCoordType, String^ aStringAttributes, FeatureInfo^ aFeatureInfo, MapObjectId^ aId, bool aReplace)
Inserts a circle map object into one of the maps, identifying the map by its handle....
Result DisplayRoute(bool aEnabled)
If enabled, displays the current route. If not, removes the current route from the display.
double DistanceToDestination
Returns the distance to the destination in metres. Return zero if there is no route.
Definition CartoTypeWrapper.h:2416
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.
bool MutuallyAccessible(IVector< PointValue >^ aPointArray, CoordType aCoordType, IVector< int >^ aGroupArray)
Determines the mutual accessibility of a set of points for routing purposes, using the current routin...
Result SetViewToMapObjects(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.
bool NavigationEnabled
Whether navigation is enabled. When navigation is disabled, the follow modes work but no navigation i...
Definition CartoTypeWrapper.h:2204
int MainMapHandle
The handle of the main map.
Definition CartoTypeWrapper.h:1536
bool MapIsWritable(int aIndex)
Returns true if the indexed map is writable.Returns false if aIndex is out of range.
Result InsertEllipseMapObject(int aMapHandle, String^ aLayerName, double aCenterX, double aCenterY, CoordType aCenterCoordType, double aRadiusX, double aRadiusY, CoordType aRadiusCoordType, double aRotationDegrees, String^ aStringAttributes, FeatureInfo^ aFeatureInfo, MapObjectId^ aId, bool aReplace)
Inserts an ellipse map object into one of the maps, identifying the map by its handle....
void AppendStyleSheetData(String^ aData)
Loads an extra style sheet from data in memory. Extra style sheets are compiled after the main style ...
double ScaleDenominatorInView
The scale denominator for the current view, adjusting for any projection distortion: for example,...
Definition CartoTypeWrapper.h:1596
Result FindInDisplay(MapObjectList^ aObjectList, int aMaxObjectCount, double aX, double aY, double aRadius)
Finds all objects within aRadius of the point aX,aY on the display.
Result Navigate(int aValidity, double aTime, double aLong, double aLat, double aSpeed, double aBearing, double aHeight)
Updates the vehicle position and, if navigating, updates the navigation state.
Result SetBuiltInRouteProfile(int aIndex)
Selects a built-in routing profile by its index.
MapObject ^ LoadMapObject(int aMapHandle, int64_t aId)
Loads a map object, identifying it by its map handle and ID. Returns null if the object does not exis...
String ^ GeoCodeSummary(MapObject^ aMapObject)
Returns a string summarizing a geocode for a map object.
Result WriteRouteAsXml(CartoType::Route^ aRoute, String^ aFileName, FileType aFileType)
Writes a route as XML in the format selected by aFileType: CartoTypeRoute or Gpx.
Result StartNavigation(IVector< double >^ aX, IVector< double >^ aY, CoordType aCoordType)
A version of StartNavigation taking separate arrays of X and Y coords.
Turn^ SecondTurn
The second turn during navigation.
Definition CartoTypeWrapper.h:2342
Result FindPointsInPath(MapObjectList^ aObjectList, Geometry^ aPath, FindParam^ aFindParam)
Finds all point objects contained in a certain path.
Result SetStyleSheet(String^ aStyleSheetFileName, int aIndex)
Sets a style sheet by loading it from a file. The index aIndex determines which style sheet to replac...
String^ Licensee
The name of the licensee. It is "no licensee: for evaluation only" if there is no licensee.
Definition CartoTypeWrapper.h:1425
Route ^ CreateRoute(RouteProfile^ aProfile, RouteCoordSet^ aCoordSet)
Creates a route without starting navigation, supplying a route profile and waypoints.
bool HasNotices
Returns true if any notices such as a scale bar, legend or copyright notice exist.
Definition CartoTypeWrapper.h:1477
RouterType PreferredRouterType
The preferred type of router to be used for calculating routes.
Definition CartoTypeWrapper.h:2114
bool NightMode
In night mode the map is shaded dark blue and roads are made brighter than other features.
Definition CartoTypeWrapper.h:2042
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 InsertMapObject(int aMapHandle, String^ aLayerName, Geometry^ aGeometry, String^ aStringAttributes, FeatureInfo^ aFeatureInfo, MapObjectId^ aId, bool aReplace)
Inserts a map object into one of the writable maps. The type of the map object (point,...
String^ ProjectionAsProj4Param
Returns the current map projection as a proj.4 parameter string if possible. If not returns the empty...
Definition CartoTypeWrapper.h:1684
void EnableAllMaps()
Enables all currently loaded maps.
int LastMapHandle
The handle of the map most recently loaded.
Definition CartoTypeWrapper.h:1534
Result StartNavigationDeferred(RouteCoordSet^ aCoordSet)
Starts navigating through a series of at least two points. Call Navigate as needed to supply the vehi...
Result FindNearby(MapObjectList^ aObjectList, FindNearbyParam^ aFindNearbyParam)
Finds nearby objects, allowing a choice of point of interest type, name and location.
int SetVehicleTypeWarning(double aMaxDistance, int aMaxObjectCount)
Adds a vehicle type warning and returns its ID. Road sections illegal for the current vehicle weight,...
Result ZoomAt(double aZoomFactor, double aX, double aY, CoordType aCoordType)
Zooms in by a specified zoom factor, or zooms out if the zoom factor is less than 1,...
double ScaleDenominator
The current scale denominator. Use the denominator 50000 for a scale of 1:50,000.
Definition CartoTypeWrapper.h:1594
Framework(String^ aMapFileName, String^ aStyleSheetFileName, String^ aFontFileName, int aViewWidth, int aViewHeight, String^ aKey)
Creates a CartoType framework with a map, style sheet, font, view size in pixels, and API key or encr...
Result SetScaleBar(NoticePosition^ aPosition, Legend^ aLegend)
Creates a scale bar with a specified width and position in the display. If aLegend is supplied,...
double PixelsToMeters(double aPixels)
Converts a distance in pixels to map meters (projected meters).
TimeAndDistanceMatrix ^ TimeAndDistanceMatrix(IVector< PointValue >^ aFrom, IVector< PointValue >^ aTo, CoordType aCoordType)
Returns a vector of route times in seconds and distances in metres from aFrom to all points in aTo.
Result SetTurnInstructions(NoticeAnchor aAnchor, double aWidth, String^ aWidthUnit, double aTextSize, String^ aTextSizeUnit, bool aAbbreviate)
Creates standard turn instructions with a specified position and width. Optionally (if aTextSize is g...
IVector< String^>^ LayerNames
Returns the names of all the layers in the map data.
Definition CartoTypeWrapper.h:1588
Result SetStyleSheetData(String^ aData, int aIndex)
Sets a style sheet by loading it from data in memory.
bool Tracking()
Returns true if tracking (storing and displaying track points) is on.
String^ Locale
The locale used when getting the names of map objects when routing, geocoding, etc....
Definition CartoTypeWrapper.h:2464
int MapCount
Returns the number of maps currently loaded, including the main map and the in-memory map.
Definition CartoTypeWrapper.h:1517
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.
Parameters for creating a Framework object when more detailed control is needed. For example,...
Definition CartoTypeWrapper.h:1216
String^ StyleSheetFileName
The style sheet. If this string is null or empty, the style sheet must be supplied in m_style_sheet_t...
Definition CartoTypeWrapper.h:1227
int MaxFileBufferCount
The maximum number of file buffers. If it is zero or less the default value is used.
Definition CartoTypeWrapper.h:1241
String^ MapFileName
The map. Must not be null or empty.
Definition CartoTypeWrapper.h:1225
String^ FontFileName
The font. If it is null or empty a small default font is used.
Definition CartoTypeWrapper.h:1231
int ViewHeight
The height of the map in pixels. Must be greater than zero.
Definition CartoTypeWrapper.h:1235
int TextIndexLevels
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:1248
String^ StyleSheetText
The style sheet text. Used if m_style_sheet_filename is null or empty.
Definition CartoTypeWrapper.h:1229
int ViewWidth
The width of the map in pixels. Must be greater than zero.
Definition CartoTypeWrapper.h:1233
String^ Key
If non-null, and not empty, an API key or encryption key to be used when loading the map.
Definition CartoTypeWrapper.h:1237
int FileBufferSizeinBytes
The file buffer size in bytes. If it is zero or less the default value is used.
Definition CartoTypeWrapper.h:1239
A geometry class for creating map objects and specifying view areas. There are also functions for the...
Definition CartoTypeGeometry.h:209
The Legend class is used to specify legends, scales, copyright notices and turn instructions.
Definition CartoTypeWrapper.h:2723
void SetDiagramColor(Color aDiagramColor)
Sets the diagram color, used for scale bars and turn diagrams, for subsequently added lines.
void AddTextLine(String^ aText)
Adds a line of text, using the current font family, font size, text color and minimum line height.
void SetBorder(Color aColor, double aStrokeWidth, double aRadius, String^ aUnit)
Sets the border color and corner radius for the whole legend. Transparent border colors are allowed.
void AddTurnLine(bool aAbbreviate)
Adds a turn line, using the current font family, font size, alignment, text color and minimum line he...
void Clear()
Deletes all legend lines (map objects, text lines and scale bars).
void SetExtraStyleSheet(String^ aData)
Sets the extra style sheet.
String ^ TurnInstruction()
Returns the instruction to be displayed for the current turn, overriding automatically generated inst...
void SetMainStyleSheet(String^ aData)
Sets the main style sheet, replacing the style sheet copied from the Framework parameter to the Legen...
Legend(Framework^ aFramework, uint32_t aStyle)
Creates a Legend object with the same fonts and style sheet as aFramework, specifying a style made fr...
void SetFontSize(double aFontSize, String^ aUnit)
Sets the font size for subsequently added lines.
bool HasTurnInstruction()
Returns true if any of the lines of this legend object is a turn instruction.
void SetFontFamily(String^ aFontFamily)
Sets the font family for subsequently added lines.
void SetLabelWrapWidth(double aWrapWidth, String^ aUnit)
Sets the label wrap width for subsequently added lines. Values of zero or less prevent wrapping....
Legend(Framework^ aFramework)
Creates a Legend object with the same fonts and style sheet as aFramework.
void SetMarginWidth(double aMarginWidth, String^ aUnit)
Sets the margin width for the whole legend.
void SetMinLineHeight(double aLineHeight, String^ aUnit)
Sets the minimum line height for subsequently added lines.
void AddMapObjectLine(MapObjectType aType, String^ aLayer, FeatureInfo^ aFeatureInfo, String^ aStringAttrib, String^ aLabel)
Adds a line containing a map object, with an optional label to the left of it.
void AddScaleLine()
Adds a scale bar line, using the current font family, font size, alignment, text color and minimum li...
void SetFontStyle(uint32_t aStyle)
Sets the font style for subsequently added lines. The style is made from FontStyleFlag values.
void SetPolygonRotation(double aDegrees)
Sets the amount in degrees by which rectangles drawn for polygon legend lines are rotated,...
void SetTextColor(Color aTextColor)
Sets the text color for subsequently added lines.
void SetBackgroundColor(Color aColor)
Sets the background color. Transparent colors are allowed.
void SetAlignment(Align aAlignment)
Sets the alignment for labels and scale bars.
void SetTurnInstruction(String^ aText)
Sets the instruction to be displayed for the current turn, overriding automatically generated instruc...
Parameters used when matching a road or other feature to a location.
Definition CartoTypeWrapper.h:371
double MaxRoadDistanceInMeters
The expected maximum distance of a road from the current location. It is clamped to the range 5 ....
Definition CartoTypeWrapper.h:390
double LocationAccuracyInMeters
The accuracy of a location fix given as a range error with 95% probability. It is clamped to the rang...
Definition CartoTypeWrapper.h:378
double HeadingAccuracyInDegrees
The accuracy of a heading or course given as an angular error in degrees with 95% probability....
Definition CartoTypeWrapper.h:384
Parameters used for a location reference when writing traffic information.
Definition CartoTypeWrapper.h:1015
LocationRef(LocationRefType aType, CoordType aCoordType)
Creates a location reference of a given type and coordinate type.
double RadiusInMeters
The radius, if this is a circle.
Definition CartoTypeWrapper.h:1027
Geometry^ Geometry
The point or points.
Definition CartoTypeWrapper.h:1025
String^ Id
The arbitrary ID of the location reference; may be null.
Definition CartoTypeWrapper.h:1023
RoadOrientation RoadOrientation
The road orientation, if relevant.
Definition CartoTypeWrapper.h:1031
SideOfRoad SideOfRoad
The side of the road, if relevant.
Definition CartoTypeWrapper.h:1029
LocationRefType Type
The type of this location reference.
Definition CartoTypeWrapper.h:1021
A group of map objects with the same name, as used in a list of found objects.
Definition CartoTypeWrapper.h:1107
MapObjectList^ MapObjectList
The list of map objects.
Definition CartoTypeWrapper.h:1112
String^ Name
The name shared by all the map objects.
Definition CartoTypeWrapper.h:1110
A map object: a point, linear object, polygon object, or array (texture).
Definition CartoTypeWrapper.h:235
String ^ StringAttribute(String^ aName)
Returns a string attribute. If aName is empty this function returns the same value as the Label prope...
int64_t Id
The ID of the object.
Definition CartoTypeWrapper.h:246
virtual int PointCount(int aContourIndex)
The number of points in a contour.
double Area
The area of the map object in square meters. Returns 0 if it is a point or a line.
Definition CartoTypeWrapper.h:252
MapObjectType Type
The type of the object.
Definition CartoTypeWrapper.h:248
MapObjectMatch ^ Match(String^ aText, StringMatchMethod aMatchMethod, String^ aAttributes, bool aPhrase)
Finds the first string attribute matching aText, using aMatchMethod, and returns information about it...
Rect^ BoundsInDegrees
Returns the bounding box of a map object in degrees.
Definition CartoTypeWrapper.h:272
Rect^ Bounds
Returns the axis-aligned bounding box of a map object, in map coordinates.
Definition CartoTypeWrapper.h:276
Point^ Center
Returns the center of a map object in map coordinates.
Definition CartoTypeWrapper.h:261
double LengthOrPerimeter
The length or perimeter of the map object in meters. Returns 0 if it is a point.
Definition CartoTypeWrapper.h:254
FeatureInfo^ FeatureInfo
The feature info of the map object.
Definition CartoTypeWrapper.h:240
virtual PathPoint ^ Point(int aContourIndex, int aPointIndex)
Returns a point, specifying it by contour index and point index, and places it in aPoint.
virtual int ContourCount()
The number of contours in the path.
IVector< String^> ^ StringAttributes()
Returns all the string attributes as key-value pairs; an empty key refers to the label attribute.
String^ Label
The label or name of the object.
Definition CartoTypeWrapper.h:238
Point^ CenterInDegrees
Returns the center of a map object in degrees.
Definition CartoTypeWrapper.h:270
String^ LayerName
The name of the object's layer.
Definition CartoTypeWrapper.h:250
Geometry^ GeometryInDegrees
Returns the bounding box of a map object in degrees.
Definition CartoTypeWrapper.h:274
A class to hold a map object ID which can both be passed into and returned from a function to insert ...
Definition CartoTypeWrapper.h:1368
int64_t Id
The map object ID.
Definition CartoTypeWrapper.h:1371
Information returned by MapObject::Match.
Definition CartoTypeWrapper.h:219
int End
The end position of the matched text within the value.
Definition CartoTypeWrapper.h:230
int Start
The start position of the matched text within the value.
Definition CartoTypeWrapper.h:228
String^ Value
The value of the attribute in which the matched text was found.
Definition CartoTypeWrapper.h:226
String^ Key
The name of the attribute in which the matched text was found.
Definition CartoTypeWrapper.h:224
bool Found
True if the text was found.
Definition CartoTypeWrapper.h:222
void Draw()
Draws the map using OpenGL ES.
MapRenderer(Framework^ aFramework)
Creates a MapRenderer from a Framework. The parameter aFramework must not be null.
int RouteDistanceTolerance
Maximum distance from the route in metres before the vehicle is deemed off-route.
Definition CartoTypeWrapper.h:1199
int MinimumFixDistance
Minimum distance between location fixes in metres that is taken as an actual move.
Definition CartoTypeWrapper.h:1197
int RouteTimeTolerance
Maximum time off route in seconds before a new route needs to calculated.
Definition CartoTypeWrapper.h:1201
bool NavigationEnabled
If true, and if there is a route, the position on route is updated and turn information is created wh...
Definition CartoTypeWrapper.h:1206
Information about the nearest road to a certain point.
Definition CartoTypeWrapper.h:901
String^ Ref
The road reference of the road.
Definition CartoTypeWrapper.h:908
double HeadingVectorY
The y coordinate of the heading of the nearest segment as a unit vector.
Definition CartoTypeWrapper.h:920
SideOfRoad SideOfRoad
The side of the road on which the selected point lies, or SideOfRoad.None if the vehicle heading is n...
Definition CartoTypeWrapper.h:926
double Distance
The distance from the chosen point to the nearest point in meters.
Definition CartoTypeWrapper.h:914
FeatureInfo^ FeatureInfo
The feature info of the road.
Definition CartoTypeWrapper.h:904
double NearestPointY
The y coordinate of the nearest point on the road, in map coordinates, to the chosen point.
Definition CartoTypeWrapper.h:912
double HeadingVectorX
The x coordinate of the heading of the nearest segment as a unit vector.
Definition CartoTypeWrapper.h:918
double NearestPointX
The x coordinate of the nearest point on the road, in map coordinates, to the chosen point.
Definition CartoTypeWrapper.h:910
String^ Name
The standard name of the road.
Definition CartoTypeWrapper.h:906
double HeadingInDegrees
The heading of the nearest segment in degrees.
Definition CartoTypeWrapper.h:916
Information about the nearest route segment to a point.
Definition CartoTypeWrapper.h:674
double TimeAlongRoute
The estimated time of the nearest point, along the route, in seconds.
Definition CartoTypeWrapper.h:693
int LineIndex
The index of the line within the segment's path: line N goes from point N to point N + 1.
Definition CartoTypeWrapper.h:681
double NearestPointX
The point in the segment's path nearest to the other point, in map coordinates.
Definition CartoTypeWrapper.h:683
double TimeAlongSegment
The estimated time within the current segment, in seconds.
Definition CartoTypeWrapper.h:695
double DistanceToRoute
The distance from the other point to iNearestPoint in meters.
Definition CartoTypeWrapper.h:687
double DistanceAlongSegment
The distance within the current segment in meters.
Definition CartoTypeWrapper.h:691
double NearestPointY
The point in the segment's path nearest to the other point, in map coordinates.
Definition CartoTypeWrapper.h:685
double DistanceAlongRoute
The distance of the nearest point along the route in meters.
Definition CartoTypeWrapper.h:689
int SegmentIndex
The index of the segment in the Route object, or -1 if there were no segments.
Definition CartoTypeWrapper.h:679
Positions for notices like the legend or scale bar.
Definition CartoTypeWrapper.h:1070
NoticePosition(NoticeAnchor aAnchor, double aWidth, String^ aWidthUnit)
Creates a NoticePosition from an anchor position and a width. The width is ignored if the width unit ...
NoticePosition(NoticeAnchor aAnchor, double aWidth, String^ aWidthUnit, double aXInset, String^ aXInsetUnit, double aYInset, String^ aYInsetUnit)
Creates an NoticePosition from an anchor position, width and insets.
NoticePosition(NoticeAnchor aAnchor)
Creates a NoticePosition from an anchor position.
An on-curve or off-curve point for use in paths.
Definition CartoTypeGeometry.h:70
Parameters giving detailed control of the perspective view.
Definition CartoTypeWrapper.h:1120
double FieldOfViewDegrees
The camera's field of view in degrees.
Definition CartoTypeWrapper.h:1152
double HeightMeters
The height of the camera above the terrain. The value 0 causes a default value to be used,...
Definition CartoTypeWrapper.h:1142
Result ReadFromXml(String^ aText)
Reads a perspective parameter object from its XML form.
String ^ ToXml()
Creates a string representing a perspective parameter object in XML.
double DeclinationDegrees
The declination of the camera downward from the horizontal plane. Values are clamped to the range -90...
Definition CartoTypeWrapper.h:1148
double PositionDegreesY
The latitude of the position of the point on the terrain below the camera, in degrees longitude (x) a...
Definition CartoTypeWrapper.h:1138
double RotationDegrees
The amount by which the camera is rotated about its axis, after applying the declination,...
Definition CartoTypeWrapper.h:1150
double AzimuthDegrees
The azimuth of the camera in degrees going clockwise, where 0 is N, 90 is E, etc.
Definition CartoTypeWrapper.h:1144
double PositionDegreesX
The longitude of the position of the point on the terrain below the camera, in degrees longitude (x) ...
Definition CartoTypeWrapper.h:1136
bool AutoAzimuth
If true, ignore AzimuthDegrees and use the current map orientation.
Definition CartoTypeWrapper.h:1146
bool AutoPosition
If true, ignore PositionDegreesX and PositionDegreesY, and set the camera position so that the locati...
Definition CartoTypeWrapper.h:1140
A 2D point using floating-point coordinates.
Definition CartoTypeGeometry.h:34
A grid-aligned rectangle with double-precision coordinates suitable for map points.
Definition CartoTypeGeometry.h:92
A set of points for creating a route, with optional heading and accuracy information.
Definition CartoTypeWrapper.h:729
RoutePointList^ RoutePointList
The route points.
Definition CartoTypeWrapper.h:740
CartoType::CoordType CoordType
The coordinate type of the route points.
Definition CartoTypeWrapper.h:738
Information about an entire route.
Definition CartoTypeWrapper.h:797
NearestSegmentInfo ^ NearestSegment(double aX, double aY, int aSection, double aPreviousDistanceAlongRoute)
Returns information about the nearest route segment to a point given in map coordinates.
double TollRoadDistance
Returns the total distance in metres of the parts of the route that are on toll roads.
Definition CartoTypeWrapper.h:815
virtual int PointCount(int aContourIndex)
Returns the number of points in a contour.
Geometry^ Geometry
The geometry of the route.
Definition CartoTypeWrapper.h:803
virtual int ContourCount()
Returns the number of contours (sub-paths).
double Distance
The distance of the route in metres.
Definition CartoTypeWrapper.h:807
NearestSegmentInfo ^ PointAtDistance(double aDistanceInMeters)
Returns information about a point a certain distance along a route.
RouteProfile^ Profile
The profile used to create this route.
Definition CartoTypeWrapper.h:805
RouteSegment ^ RouteSegment(int aIndex)
Returns a route segment.
NearestSegmentInfo ^ PointAtTime(double aTimeInSeconds)
Returns information about a point a certain estimated time along a route.
double Time
The estimated time taken to traverse the route in seconds.
Definition CartoTypeWrapper.h:809
int RouteSegmentCount
The number of route segments.
Definition CartoTypeWrapper.h:811
virtual PathPoint ^ Point(int aContourIndex, int aPointIndex)
Returns a point given its contour and point indexes.
A point on a route, with its heading and location match parameters.
Definition CartoTypeWrapper.h:705
LocationMatchParam^ LocationMatchParam
Parameters used when matching the point to a road or other routable segment. If null,...
Definition CartoTypeWrapper.h:716
double Y
The X coordinate.
Definition CartoTypeWrapper.h:710
double X
The X coordinate.
Definition CartoTypeWrapper.h:708
double Heading
The heading in degrees clockwise from north.
Definition CartoTypeWrapper.h:712
bool HeadingKnown
True if the heading is known.
Definition CartoTypeWrapper.h:714
A routing profile: parameters determining the type of route, including road speeds,...
Definition CartoTypeWrapper.h:536
double Length
The vehicle's length in meters. Values of zero or less mean 'unknown'.
Definition CartoTypeWrapper.h:578
int TurnTime
The estimated time in seconds taken for any turn at a junction that is not a slight turn or simply go...
Definition CartoTypeWrapper.h:604
double TripleAxleLoad
The vehicle's triple axle load in metric tons. Values of zero or less mean 'unknown'.
Definition CartoTypeWrapper.h:569
bool HazMat
True if the vehicle is carrying hazardous materials.
Definition CartoTypeWrapper.h:581
double Height
The vehicle's height in meters. Values of zero or less mean 'unknown'.
Definition CartoTypeWrapper.h:572
double AxleLoad
The vehicle's axle load in metric tons. Values of zero or less mean 'unknown'.
Definition CartoTypeWrapper.h:563
Array< double >^ Speed
Speeds along roads in kilometres per hour.
Definition CartoTypeWrapper.h:584
RouteProfile(RouteProfileType aProfileType)
Creates a RouteProfile of one of the standard types.
Array< double >^ GradientBonus
Bonuses applied to roads with a particular gradient.
Definition CartoTypeWrapper.h:659
double DoubleAxleLoad
The vehicle's double axle load in metric tons. Values of zero or less mean 'unknown'.
Definition CartoTypeWrapper.h:566
bool Shortest
Set this flag to true to get the shortest route by distance or time, ignoring weightings....
Definition CartoTypeWrapper.h:630
int GradientFlags
Flags indicating which roads are affected by gradient speeds and bonuses; normally steps,...
Definition CartoTypeWrapper.h:665
double TollPenalty
The penalty applied to toll roads as a number between zero and one.
Definition CartoTypeWrapper.h:645
Array< double >^ Bonus
Bonuses or penalties in notional km per hour to be added to road types to make them more or less like...
Definition CartoTypeWrapper.h:590
int CrossTrafficTurnTime
The estimated time in seconds taken for a turn across the traffic: that is, a left turn in drive-on-r...
Definition CartoTypeWrapper.h:619
int VehicleType
Flags taken from the access flags defined in FeatureInfo indicating the vehicle type....
Definition CartoTypeWrapper.h:557
int TrafficLightTime
The estimated delay in seconds caused by traffic lights.
Definition CartoTypeWrapper.h:624
double Width
The vehicle's width in meters. Values of zero or less mean 'unknown'.
Definition CartoTypeWrapper.h:575
Result ReadFromXmlString(String^ aString)
Reads the route profile from a string in XML format.
Result ReadFromXmlFile(String^ aFileName)
Reads the route profile from an file in XML format.
bool ShortestByTime
Set this flag to true if Shortest should produce the shortest route by time rather than distance.
Definition CartoTypeWrapper.h:633
int UTurnTime
The estimated time in seconds taken for a U-turn, defined as a turn very close to 180 degrees (within...
Definition CartoTypeWrapper.h:610
Array< double >^ GradientSpeed
Speeds added to roads with a particular gradient.
Definition CartoTypeWrapper.h:656
double Weight
The vehicle's weight in metric tons. Values of zero or less mean 'unknown'.
Definition CartoTypeWrapper.h:560
Array< int >^ RestrictionOverride
This array of bit masks allows restrictions to be overridden for certain types of road....
Definition CartoTypeWrapper.h:598
String ^ WriteAsXmlString()
Creates an XML string representing the route profile.
String^ Name
The optional name of the profile.
Definition CartoTypeWrapper.h:551
Result WriteAsXmlFile(String^ aFileName)
Writes the route profile to a file in XML format.
virtual int PointCount(int aContourIndex)
The number of points in a contour.
double TurnAngle
Returns the turn angle.
Definition CartoTypeWrapper.h:771
double Distance
Returns the distance in metres.
Definition CartoTypeWrapper.h:759
String^ Ref
The road reference.
Definition CartoTypeWrapper.h:755
FeatureInfo^ FeatureInfo
Returns the feature info of the object of which this segment is a part.
Definition CartoTypeWrapper.h:751
int Section
Returns the route section this segment belongs to.
Definition CartoTypeWrapper.h:777
TurnType TurnType
Returns the turn type.
Definition CartoTypeWrapper.h:765
virtual PathPoint ^ Point(int aContourIndex, int aPointIndex)
Returns a point given its contour and point indexes.
String^ Destination
The destination.
Definition CartoTypeWrapper.h:757
virtual int ContourCount()
The number of contours (sub-paths). It is always 1 for this class.
Definition CartoTypeWrapper.h:782
String^ Instructions
Returns turn instructions provided by the routing system. If not empty they are used instead of instr...
Definition CartoTypeWrapper.h:779
double Time
Returns the estimated time taken to traverse the segment in seconds, including TurnTime.
Definition CartoTypeWrapper.h:761
double TurnTime
Returns the estimated time taken by the turn at the start of the segment; this is included in m_time.
Definition CartoTypeWrapper.h:763
int Choices
Returns the number of choices at this turning if known; 0 if not known.
Definition CartoTypeWrapper.h:775
RoundaboutState RoundaboutState
Returns the roundabout state.
Definition CartoTypeWrapper.h:769
bool IsContinue
Returns true if this is a 'continue' turn, false if not.
Definition CartoTypeWrapper.h:767
int ExitNumber
Returns the exit number, counting the current junction as 0, if this junction is part of a roundabout...
Definition CartoTypeWrapper.h:773
String^ Name
The road name.
Definition CartoTypeWrapper.h:753
Parameters used in Framework.LoadMapsAutomatically.
Definition CartoTypeWrapper.h:1397
IVector< TileSet^>^ TileSetList
Definition CartoTypeWrapper.h:1400
A set of map tiles used in TileParam.
Definition CartoTypeWrapper.h:1376
Rect^ TileRange
The inclusive range of files that are available.
Definition CartoTypeWrapper.h:1386
String^ FileNameTemplate
A template using format specifiers from the C++ std::format function, which is used to create the fil...
Definition CartoTypeWrapper.h:1384
int MinDisplayZoom
The minimum zoom level at which these tiles are to be drawn.
Definition CartoTypeWrapper.h:1390
int FileZoom
The zoom level of these tiles.
Definition CartoTypeWrapper.h:1388
int MaxDisplayZoom
The maximum zoom level at which these tiles are to be drawn.
Definition CartoTypeWrapper.h:1392
int Time(int aFromIndex, int aToIndex)
Returns the time in seconds taken to travel on the best route from one of the 'from' points to one of...
int FromCount
The number of 'from' points.
Definition CartoTypeWrapper.h:1352
int ToCount
Returns the number of 'to' points.
Definition CartoTypeWrapper.h:1354
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' ...
Traffic information. This information is normally used in combination with a location reference.
Definition CartoTypeWrapper.h:969
double Speed
Permitted or expected speed in kph: 255 or greater means no speed limit; 0 or less means the route is...
Definition CartoTypeWrapper.h:980
int VehicleTypes
Vehicle types affected by this information, taken from the RouteProfile literals; use AllVehicles to ...
Definition CartoTypeWrapper.h:978
Information about a turn through a junction.
Definition CartoTypeWrapper.h:468
bool IsContinue
True if this turn is a continuation of the current road and no notification is needed.
Definition CartoTypeWrapper.h:478
void Clear()
Clears the data from a Turn object, returning it to its newly constructed state.
RoundaboutState RoundaboutState
The roundabout state.
Definition CartoTypeWrapper.h:480
int ExitNumber
The junction to take, counting the current junction as 0, if this junction is part of a roundabout.
Definition CartoTypeWrapper.h:484
double Time
The estimated time to the turn in seconds.
Definition CartoTypeWrapper.h:488
String^ FromName
The name of the road before the turn.
Definition CartoTypeWrapper.h:490
String^ Destination
The destination of the road after the turn.
Definition CartoTypeWrapper.h:502
String^ FromRef
The reference code (e.g., B4009) of the road before the turn.
Definition CartoTypeWrapper.h:492
double Distance
The distance to the turn in metres.
Definition CartoTypeWrapper.h:486
String^ Instructions
Instructions for the turn, in the current locale's language.
Definition CartoTypeWrapper.h:504
int Index
The index of the turn, which is unique within a route. Used to avoid duplication when issuing voice i...
Definition CartoTypeWrapper.h:506
Turn()
Creates a Turn object.
String^ ToRef
The reference code (e.g., B4009) of the road after the turn.
Definition CartoTypeWrapper.h:498
double TurnAngle
The turn angle: 0 = straight ahead; negative = left, positive = right.
Definition CartoTypeWrapper.h:482
FeatureInfo^ FromRouteInfo
The type of the road before the turn.
Definition CartoTypeWrapper.h:494
String^ ToName
The name of the road after the turn.
Definition CartoTypeWrapper.h:496
TurnType Type
The turn type: ahead, left, right, etc.
Definition CartoTypeWrapper.h:476
FeatureInfo^ ToRouteInfo
The type of the road after the turn.
Definition CartoTypeWrapper.h:500
General utility functions.
Definition CartoTypeWrapper.h:2847
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 String ^ ErrorString(Result aError)
Returns a short description of an error, given its code.
static double AzimuthInDegrees(double aLong1, double aLat1, double aLong2, double aLat2)
Returns the azimuth (direction along a great circle) in degrees from (aLong1,aLat1) to (aLong2,...
static String ^ Description()
Returns a Git description of the current CartoType version as a string of the form MAJOR....
static Point ^ PointAtAzimuth(double aLong, double aLat, double aDir, double aDistanceInMeters)
Finds the point in degrees at a certain distance and azimuth direction from a starting point....
static PointValue PointInDegreesFromUKGridReference(String^ aGridReference)
Converts a UK Ordnance Survey national grid reference (two capital letters followed by an even number...
static String ^ UKGridReferenceFromDegrees(PointValue aPointInDegrees, int aDigits)
Converts a point in degrees latitude and longitude (WGS84) into a UK Ordnance Survey national grid re...
static String ^ Build()
Returns the current CartoType build as a string.
static double GreatCircleDistanceInMeters(double aLong1, double aLat1, double aLong2, double aLat2)
Returns the great-circle distance in meters between (aLong1,aLat1) and (aLong2,aLat2)....
The view state, which can be retrieved or set so that maps can be recreated.
Definition CartoTypeWrapper.h:1157
int WidthInPixels
The display width in pixels.
Definition CartoTypeWrapper.h:1167
int HeightInPixels
The display height in pixels.
Definition CartoTypeWrapper.h:1169
double ScaleDenominator
The denominator of the scale fraction; e.g., 50000 for 1:50000.
Definition CartoTypeWrapper.h:1175
String ^ ToXml()
Creates a string representing a view state in XML.
PerspectiveParam^ PerspectiveParam
The parameters to be used for perspective mode; if null, default parameters are used.
Definition CartoTypeWrapper.h:1181
Result ReadFromXml(String^ aText)
Reads a view state from its XML form.
double ViewCenterDegreesX
The X coordinate (longitude) of the view center in map coordinates.
Definition CartoTypeWrapper.h:1171
double RotationDegrees
The clockwise rotation of the view in degrees.
Definition CartoTypeWrapper.h:1177
double ViewCenterDegreesY
The Y coordinate (latitude) of the view center in map coordinates.
Definition CartoTypeWrapper.h:1173
bool Perspective
True if perspective mode is on.
Definition CartoTypeWrapper.h:1179
A path defining a set of open and closed curves.
Definition CartoTypeGeometry.h:124
Definition CartoTypeWrapper.h:68
RouterType
Types of router; used when selecting a router type.
Definition CartoTypeWrapper.h:395
@ TECH
Turn-expanded contraction hierarchy.
Definition CartoTypeWrapper.h:408
@ StandardAStar
The A* router, which gives fast performance but takes a lot of memory and cannot create a route going...
Definition CartoTypeWrapper.h:399
@ StandardContractionHierarchy
The contraction hierarchy router is intended where less RAM is available: for example with large maps...
Definition CartoTypeWrapper.h:406
@ Default
This router type causes the default router to be selected: the one for which serialized data is avail...
Definition CartoTypeWrapper.h:397
@ TurnExpandedAStar
A version of the A* router with road nodes and turn arcs; slower than StandardAStar,...
Definition CartoTypeWrapper.h:401
LegendStyleFlag
Flags used to create Legend objects with standard styles.
Definition CartoTypeWrapper.h:2684
@ ScaleStyle
Style flags used in the constructor to create an empty legend object suitable for a scale bar....
Definition CartoTypeWrapper.h:2704
@ EmptyStyle
Style flags to create an empty legend object.
Definition CartoTypeWrapper.h:2706
@ ScaleBar
A style flag to add a scale bar.
Definition CartoTypeWrapper.h:2692
@ ScaleInTitle
A style flag to add the scale in the form 1:NNN to the title.
Definition CartoTypeWrapper.h:2688
@ MapObjects
A style flag to add lines for common map objects including roads, forests, parks and stations.
Definition CartoTypeWrapper.h:2690
@ StandardStyle
Style flags to select the standard style.
Definition CartoTypeWrapper.h:2694
@ TurnStyle
Style flags used in the constructor to create an empty legend object suitable for turn instructions....
Definition CartoTypeWrapper.h:2699
FollowMode
Flags controlling the way the map follows the user location and heading and automatically zooms.
Definition CartoTypeWrapper.h:317
@ LocationHeading
The map is centred on the user's location and rotated to the user's heading.
Definition CartoTypeWrapper.h:323
@ LocationZoom
The map is centred on the user's location and zoomed to a suitable level for the user's speed.
Definition CartoTypeWrapper.h:325
@ LocationHeadingZoom
The map is centred on the user's location, rotated to the user's heading, and zoomed to a suitable le...
Definition CartoTypeWrapper.h:327
CoordType
Coordinate types.
Definition CartoTypeGeometry.h:135
@ Degree
Longitude (X) and latitude (Y) in degrees. X increases to the east and Y increases to the north.
Definition CartoTypeGeometry.h:137
LetterCase
Definition CartoTypeWrapper.h:144
@ Upper
The case of the letters 'A', 'B', 'C, etc.
Definition CartoTypeWrapper.h:150
@ None
A code used when the letter case is to be left as it is, or is irrelevant.
Definition CartoTypeWrapper.h:146
@ Lower
The case of the letters 'a', 'b', c', etc.
Definition CartoTypeWrapper.h:148
@ Title
The case of letters like U+01C8 'Lj' and a few others; also indicates that the first letter of each w...
Definition CartoTypeWrapper.h:155
Result
Result codes returned by CartoType API functions.
Definition CartoTypeResult.h:15
StringMatchMethod
Flags and constants used when finding text.
Definition CartoTypeWrapper.h:114
@ Loose
Loose matching: ignore non-alphanumerics and fold accents and case.
Definition CartoTypeWrapper.h:137
@ Exact
Strings must match exactly.
Definition CartoTypeWrapper.h:129
@ Fuzzy
Allow fuzzy matches: ignore non-alphanumerics, fold accents and allow imperfect matches.
Definition CartoTypeWrapper.h:139
@ Prefix
The search term must be an exact match or a prefix of the found string.
Definition CartoTypeWrapper.h:133
@ FoldCaseFlag
A flag to fold letter case.
Definition CartoTypeWrapper.h:124
@ FoldAccentsFlag
A flag to match accented and unaccented letters.
Definition CartoTypeWrapper.h:120
@ PrefixFlag
A flag to match all strings for which the search term is a perfect match or a prefix.
Definition CartoTypeWrapper.h:116
@ IgnoreNonAlphanumerics
Ignore all characters that are not letters or digits.
Definition CartoTypeWrapper.h:135
@ FuzzyFlag
A flag to allow imperfect matches with a small number of omitted, incorrect or extra characters.
Definition CartoTypeWrapper.h:122
@ IgnoreWhitespaceFlag
A flag to ignore whitespace when matching.
Definition CartoTypeWrapper.h:126
@ FoldCase
Fold case when matching strings.
Definition CartoTypeWrapper.h:131
@ IgnoreSymbolsFlag
A flag to ignore all characters that are not letters, digits or whitespace when matching.
Definition CartoTypeWrapper.h:118
ValidityFlag
Bit flags used in Framework.Navigate to indicate which information is valid.
Definition CartoTypeWrapper.h:333
@ Course
A flag used in Framework.Navigate to indicate that the course is valid.
Definition CartoTypeWrapper.h:341
@ Speed
A flag used in Framework.Navigate to indicate that the speed is valid.
Definition CartoTypeWrapper.h:339
@ Position
A flag used in Framework.Navigate to indicate that the position is valid.
Definition CartoTypeWrapper.h:337
@ Time
A flag used in Framework.Navigate to indicate that the time is valid.
Definition CartoTypeWrapper.h:335
@ Height
A flag used in Framework.Navigate to indicate that the height is valid.
Definition CartoTypeWrapper.h:343
IVector< BlendStyle^> BlendStyleSet
A set of rules for modifying style sheet colors, for example to add contrast, lighten or darken....
Definition CartoTypeWrapper.h:1345
FeatureType
Every map object has a feature type.
Definition CartoTypeFeatureInfo.h:30
IVector< MapObject^> MapObjectList
A type for lists of map objects returned by search functions.
Definition CartoTypeGeometry.h:30
FontStyleFlag
Flags for font styles.
Definition CartoTypeWrapper.h:1090
@ Bold
The bit flag used to select bold face.
Definition CartoTypeWrapper.h:1092
@ Italic
The bit flag used to select italics.
Definition CartoTypeWrapper.h:1094
@ Serif
The bit flag used to select a serif font.
Definition CartoTypeWrapper.h:1096
@ Cursive
The bit flag used to select a cursive font.
Definition CartoTypeWrapper.h:1098
@ Monospace
The bit flag used to select a monospace font.
Definition CartoTypeWrapper.h:1102
@ Fantasy
The bit flag used to select a 'fantasy' font.
Definition CartoTypeWrapper.h:1100
TurnType
Turn types on a route. Turns at junctions are classified by dividing the full circle into 45-degree s...
Definition CartoTypeWrapper.h:420
@ BearRight
A turn between 22.5 degrees and 67.5 degrees right or a turn through a smaller angle which is the rig...
Definition CartoTypeWrapper.h:432
@ SharpRight
A turn between 112.5 degrees and 180 degrees right.
Definition CartoTypeWrapper.h:436
@ Ahead
A turn of less than 22.5 degrees left or right, unless this is a fork with two choices,...
Definition CartoTypeWrapper.h:427
@ Right
A turn between 67.5 degrees and 112.5 degrees right.
Definition CartoTypeWrapper.h:434
@ Left
A turn between 67.5 degrees and 112.5 degrees left.
Definition CartoTypeWrapper.h:442
@ Around
This turn type is use for U-turns: turns back along the same road.
Definition CartoTypeWrapper.h:438
@ SharpLeft
A turn between 112.5 degrees and 180 degrees left.
Definition CartoTypeWrapper.h:440
@ BearLeft
A turn between 22.5 degrees and 67.5 degrees left. or a turn through a smaller angle which is the lef...
Definition CartoTypeWrapper.h:447
Align
Text alignments.
Definition CartoTypeWrapper.h:2668
@ Reverse
Align to the right for left-to-right text, to the left for right-to-left text.
Definition CartoTypeWrapper.h:2674
@ Standard
Align to the left for left-to-right text, to the right for right-to-left text.
Definition CartoTypeWrapper.h:2672
LocationRefType
The type of a location reference used for traffic information.
Definition CartoTypeWrapper.h:994
@ GeoCoordinate
A point on the earth's surface.
Definition CartoTypeWrapper.h:998
@ PointAlongLine
A point on a line in the route network.
Definition CartoTypeWrapper.h:1000
@ Circle
A circle defined as a point and a radius.
Definition CartoTypeWrapper.h:1004
@ ClosedLine
A closed line in the route network.
Definition CartoTypeWrapper.h:1010
@ PointWithAccessPoint
A point on the route network providing access to a nearby POI: the first point is the point on the li...
Definition CartoTypeWrapper.h:1002
@ Rectangle
A rectangle aligned to the grid of latitude and longitude: it is defined using two points at opposite...
Definition CartoTypeWrapper.h:1006
SideOfRoad
The side of the road: used in traffic information.
Definition CartoTypeWrapper.h:892
IVector< RoutePoint^> RoutePointList
A type for lists of route points: see RouteCoordSet.
Definition CartoTypeWrapper.h:720
ColorValue
Values of frequently used colors as 32-bit integers.
Definition CartoTypeWrapper.h:1253
@ Cyan
Opaque cyan.
Definition CartoTypeWrapper.h:1281
@ White
Opaque white.
Definition CartoTypeWrapper.h:1285
@ DarkYellow
Opaque dark yellow.
Definition CartoTypeWrapper.h:1263
@ Yellow
Opaque yellow.
Definition CartoTypeWrapper.h:1275
@ DarkCyan
Opaque dark cyan.
Definition CartoTypeWrapper.h:1269
@ DarkRed
Opaque dark red.
Definition CartoTypeWrapper.h:1259
@ DarkBlue
Opaque dark blue.
Definition CartoTypeWrapper.h:1265
@ TransparentBlack
The 'null color' transparent black.
Definition CartoTypeWrapper.h:1288
@ DarkGray
Opaque dark gray.
Definition CartoTypeWrapper.h:1257
@ Blue
Opaque blue.
Definition CartoTypeWrapper.h:1277
@ Gray
Opaque gray.
Definition CartoTypeWrapper.h:1283
@ Magenta
Opaque magenta.
Definition CartoTypeWrapper.h:1279
@ Green
Opaque green.
Definition CartoTypeWrapper.h:1273
@ DarkMagenta
Opaque dark magenta.
Definition CartoTypeWrapper.h:1267
@ Black
Opaque black.
Definition CartoTypeWrapper.h:1255
@ Red
Opaque red.
Definition CartoTypeWrapper.h:1271
@ DarkGreen
Opaque dark green.
Definition CartoTypeWrapper.h:1261
RoundaboutState
Turns involving roundabouts are marked as such so that exit numbers can be counted.
Definition CartoTypeWrapper.h:455
@ Continue
This junction continues around a roundabout.
Definition CartoTypeWrapper.h:461
@ Enter
This junction enters a roundabout.
Definition CartoTypeWrapper.h:459
@ Exit
This junction exits a roundabout.
Definition CartoTypeWrapper.h:463
RouteProfileType
Constants used to select frequently-used profiles.
Definition CartoTypeWrapper.h:514
@ Hike
A profile type for walking, preferring off-road paths.
Definition CartoTypeWrapper.h:524
@ Cycle
A profile type for cycling.
Definition CartoTypeWrapper.h:521
@ Walk
A profile type for walking.
Definition CartoTypeWrapper.h:518
@ Ski
A profile type for downhill skiing.
Definition CartoTypeWrapper.h:527
@ Car
A profile type for private car navigation.
Definition CartoTypeWrapper.h:516
FileType
File types of interest to CartoType.
Definition CartoTypeWrapper.h:943
@ Jpeg
JPEG (Joint Photographic Expert Group) image files.
Definition CartoTypeWrapper.h:947
@ Tiff
TIFF (Tagged Image File Format) image files.
Definition CartoTypeWrapper.h:949
@ Ctm1
CTM1 (CartoType Map Data Type 1) map data files.
Definition CartoTypeWrapper.h:951
@ Gpx
GPX (GPS Exchange) files.
Definition CartoTypeWrapper.h:961
@ Ctsql
CTSQL (CartoType SQLite format) map data files.
Definition CartoTypeWrapper.h:957
@ Kml
KML (Keyhole Markup Language) map data files.
Definition CartoTypeWrapper.h:955
@ CartoTypeRoute
CTROUTE (CartoType XML route) files.
Definition CartoTypeWrapper.h:959
@ Ctms
CTMS (CartoType Map Data, Serialized) map data files.
Definition CartoTypeWrapper.h:953
@ Png
PNG (Portable Network Graphics) image files.
Definition CartoTypeWrapper.h:945
NoticeAnchor
Positions for notices like the legend or scale bar. Use functions taking an NoticePosition for greate...
Definition CartoTypeWrapper.h:1036
@ TopRight
The top right corner of the display.
Definition CartoTypeWrapper.h:1040
@ Bottom
The center of the bottom edge of the display.
Definition CartoTypeWrapper.h:1052
@ Center
The center of the display.
Definition CartoTypeWrapper.h:1054
@ BottomRight
The bottom right corner of the display.
Definition CartoTypeWrapper.h:1044
@ BottomLeft
The bottom left corner of the display.
Definition CartoTypeWrapper.h:1042
@ Top
The center of the top edge of the display.
Definition CartoTypeWrapper.h:1046
@ TopLeft
The top left corner of the display.
Definition CartoTypeWrapper.h:1038
IVector< MapObjectGroup^> MapObjectGroupList
A type for lists of map object groups returned by search functions.
Definition CartoTypeWrapper.h:1116
MapObjectType
An enumerated type for map objects.
Definition CartoTypeWrapper.h:99
@ Array
Information arranged as an array of values, such as an image or height data. Essentially a texture in...
Definition CartoTypeWrapper.h:107
@ Line
A line in two-dimensional space, consisting of one or more open contours.
Definition CartoTypeWrapper.h:103
@ Polygon
A polygon in two-dimensional space, consisting of one or more closed contours.
Definition CartoTypeWrapper.h:105
@ TypeCount
The total number of map object types. This is not an actual type.
Definition CartoTypeWrapper.h:109
Color CreateColor(int aRed, int aGreen, int aBlue)
Creates a color from red, green, and blue values.
Definition CartoTypeWrapper.h:1306
RoadOrientation
The orientation of a path along a road: used in traffic information.
Definition CartoTypeWrapper.h:985
WritableMapType
Types of writable maps.
Definition CartoTypeWrapper.h:934
@ Memory
A writable map stored in memory.
Definition CartoTypeWrapper.h:936
@ SQLite
A writable map stored in an SQLite database.
Definition CartoTypeWrapper.h:938
NavigationState
States of the navigation system.
Definition CartoTypeWrapper.h:348
@ NewRoute
A new route has been calculated.
Definition CartoTypeWrapper.h:360
@ OffRoute
The current position is off the route.
Definition CartoTypeWrapper.h:356
@ Departure
Navigation has started on a new route.
Definition CartoTypeWrapper.h:366
@ Turn
The current position is on the route and turn information is available.
Definition CartoTypeWrapper.h:354
@ Routing
Route calculation is in progress.
Definition CartoTypeWrapper.h:358
@ Arrival
The latest position is on the route and very close to the destination.
Definition CartoTypeWrapper.h:364
@ TurnRound
The latest position is on the route but a U-turn is needed.
Definition CartoTypeWrapper.h:362
@ NoPosition
There is a route but no position has been supplied.
Definition CartoTypeWrapper.h:352
FollowFlag
Bit flags used by the FollowMode constants.
Definition CartoTypeWrapper.h:305
@ Heading
A flag to rotate the map to the user's heading.
Definition CartoTypeWrapper.h:309
@ Zoom
A flag to set the map to a suitable zoom level for the user's speed.
Definition CartoTypeWrapper.h:311
@ Location
A flag to make the center of the map follow the user's location.
Definition CartoTypeWrapper.h:307
Definition CartoTypeGeometry.h:50