CartoType iOS API 9.0-11-g64131709d
for development in Swift and Objective C for iOS and Mac OS
Loading...
Searching...
No Matches
CartoTypeBase.h
Go to the documentation of this file.
1/*
2CartoTypeBase.h
3Copyright 2011-2024 CartoType Ltd.
4See www.cartotype.com for more information.
5*/
6
7#ifndef CartoTypeBase_h__
8#define CartoTypeBase_h__
9
10#import <Foundation/Foundation.h>
11#import <CoreGraphics/CGImage.h>
12#import <CoreGraphics/CGGeometry.h>
13#import <UIKit/UIImage.h>
14#import <CartoType/CartoTypeResultCode.h>
15
20
22typedef NS_OPTIONS(NSUInteger,CtFontStyle)
23 {
25 CtFontStyleBold = 1,
27 CtFontStyleItalic = 2,
29 CtFontStyleSerif = 4,
31 CtFontStyleCursive = 8,
33 CtFontStyleFantasy = 16,
35 CtFontStyleMonospace = 32
36 };
37
38typedef CtFontStyle CartoTypeFontStyle;
39
41typedef NS_OPTIONS(uint32_t,CtStringMatch)
42 {
44 CtStringMatchPrefixFlag = 1,
46 CtStringMatchIgnoreSymbolsFlag = 2,
48 CtStringMatchFoldAccentsFlag = 4,
50 CtStringMatchFuzzyFlag = 8,
52 CtStringMatchFoldCaseFlag = 16,
54 CtStringMatchIgnoreWhitespaceFlag = 32,
55
57 CtStringMatchExact = 0,
59 CtStringMatchFoldCase = CtStringMatchFoldCaseFlag,
61 CtStringMatchPrefix = CtStringMatchPrefixFlag,
63 CtStringMatchIgnoreNonAlphanumerics = CtStringMatchIgnoreSymbolsFlag | CtStringMatchIgnoreWhitespaceFlag,
65 CtStringMatchLoose = CtStringMatchIgnoreNonAlphanumerics | CtStringMatchFoldAccentsFlag | CtStringMatchFoldCaseFlag,
67 CtStringMatchFuzzy = CtStringMatchIgnoreNonAlphanumerics | CtStringMatchFoldAccentsFlag | CtStringMatchFuzzyFlag | CtStringMatchFoldCaseFlag
68 };
69
70typedef CtStringMatch CartoTypeStringMatch;
71
73typedef NS_ENUM(NSInteger,CtFileType)
74 {
76 CtFileTypePng,
78 CtFileTypeJpeg,
80 CtFileTypeTiff,
82 CtFileTypeCtm1,
84 CtFileTypeCtms,
86 CtFileTypeKml,
88 CtFileTypeCtsql,
90 CtFileTypeCtroute,
92 CtFileTypeGpx
93 };
94
95typedef CtFileType CartoTypeFileType;
96
98typedef NS_ENUM(NSInteger,CtMapObjectType)
99 {
101 CtMapObjectTypePoint,
102
104 CtMapObjectTypeLine,
105
107 CtMapObjectTypePolygon,
108
110 CtMapObjectTypeArray,
111
113 CtMapObjectTypeCount,
114
116 CtMapObjectTypeNone = -1
117 };
118
119typedef CtMapObjectType CartoTypeMapObjectType;
120
122typedef NS_ENUM(NSInteger,CtPointType)
123 {
125 CtPointTypeOnCurve = 0,
127 CtPointTypeQuadratic = 1,
129 CtPointTypeCubic = 2
130 };
131
132typedef CtPointType CartoTypePointType;
133
135typedef NS_ENUM(NSInteger,CtAlign)
136 {
138 CtAlignCenter,
140 CtAlignStandard,
142 CtAlignReverse,
144 CtAlignLeft,
146 CtAlignRight
147 };
148
149typedef CtAlign CartoTypeAlign;
150
152typedef struct
153 {
155 int32_t x;
157 int32_t y;
159 CtPointType type;
160 } CtPathPoint;
161
163
165typedef struct
166 {
168 double x;
170 double y;
172 CtPointType type;
174
176
178typedef struct
179 {
181 double x;
183 double y;
184 } CtPoint;
185
187
189typedef struct
190 {
192 double minX;
194 double minY;
196 double maxX;
198 double maxY;
199 } CtRect;
200
202
211
213
215typedef struct
216 {
222
224
226@class CtGeometry; // forward declaration
227
229@interface CtGeometryAndResult: NSObject
231 @property (nonatomic, strong) CtGeometry* geometry;
233 @property (nonatomic) CtResult result;
234@end
236@compatibility_alias CartoTypeGeometryAndResult CtGeometryAndResult;
237
239typedef struct
240 {
242 uint64_t objectId;
246
248
250typedef struct
251 {
253 double area;
255 double length;
259
261
263typedef NS_ENUM(NSInteger,CtCoordType)
264 {
266 CtCoordTypeDegree,
268 CtCoordTypeDisplay,
270 CtCoordTypeScreen = CtCoordTypeDisplay,
272 CtCoordTypeMap,
274 CtCoordTypeMapMeter
275 };
276
277typedef CtCoordType CartoTypeCoordType;
278
280typedef uint32_t CtColor NS_TYPED_ENUM;
282typedef CtColor CartoTypeColor;
283
285CtColor const CtColorBlack = 0xFF000000;
287CtColor const CtColorDarkGray = 0xFF555555;
289CtColor const CtColorDarkRed = 0xFF000080;
291CtColor const CtColorDarkGreen = 0xFF008000;
293CtColor const CtColorDarkYellow = 0xFF00808;
295CtColor const CtColorDarkBlue = 0xFF800000;
297CtColor const CtColorDarkMagenta = 0xFF800080;
299CtColor const CtColorDarkCyan = 0xFF808000;
301CtColor const CtColorRed = 0xFF0000FF;
303CtColor const CtColorGreen = 0xFF00FF00;
305CtColor const CtColorYellow = 0xFF00FFFF;
307CtColor const CtColorBlue = 0xFFFF0000;
309CtColor const CtColorMagenta = 0xFFFF00FF;
311CtColor const CtColorCyan = 0xFFFFFF00;
313CtColor const CtColorGray = 0xFFAAAAAA;
315CtColor const CtColorWhite = 0xFFFFFFFF;
317CtColor const CtColorTransparentBlack = 0x00000000;
318
323@interface CtBlendStyle: NSObject
328 @property (nonatomic) NSString* styles;
330 @property (nonatomic) CtColor mainColor;
332 @property (nonatomic) CtColor borderColor;
334 @property (nonatomic) CtColor textColor;
336 @property (nonatomic) CtColor textGlowColor;
338 @property (nonatomic) CtColor iconColor;
339
341 -(id)initWithBlendStyle:(void*)aBlendStyle;
343 -(const void*)blendStyle;
344@end
346@compatibility_alias CartoTypeBlendStyle CtBlendStyle;
347
349@interface CtAddress: NSObject
351 @property (nonatomic, strong) NSString* building;
353 @property (nonatomic, strong) NSString* feature;
355 @property (nonatomic, strong) NSString* street;
357 @property (nonatomic, strong) NSString* subLocality;
359 @property (nonatomic, strong) NSString* locality;
361 @property (nonatomic, strong) NSString* island;
363 @property (nonatomic, strong) NSString* subAdminArea;
365 @property (nonatomic, strong) NSString* adminArea;
367 @property (nonatomic, strong) NSString* country;
369 @property (nonatomic, strong) NSString* postCode;
375 -(NSString*)ToString:(bool) aFull;
376@end
378@compatibility_alias CartoTypeAddress CtAddress;
379
381@protocol CtPath <NSObject>
385 -(int)pointCount:(int)aContourIndex;
387 -(CtPathPoint)point:(int)aContourIndex pointIndex:(int)aPointIndex;
388@end
389
391@protocol CartoTypePath <CtPath>
392@end
393
395@interface CtMatch: NSObject
397 @property (nonatomic) bool found;
399 @property (nonatomic, strong) NSString* key;
401 @property (nonatomic, strong) NSString* value;
403 @property (nonatomic) size_t start;
405 @property (nonatomic) size_t end;
406@end
408@compatibility_alias CartoTypeMatch CtMatch;
409
411#define MakeFeatureTypeCode(A,B,C) ((((A)-'a'+1) << 10) | (((B)-'a'+1) << 5) | ((C)-'a'+1))
412
420typedef NS_ENUM(NSUInteger,CtFeatureType)
421 {
422 CtFeatureTypeMotorway = 0,
423 CtFeatureTypeMotorwayLink = 1,
424 CtFeatureTypeTrunkRoad = 2,
425 CtFeatureTypeTrunkLink = 3,
426 CtFeatureTypePrimaryRoad = 4,
427 CtFeatureTypePrimaryLink = 5,
428 CtFeatureTypeSecondaryRoad = 6,
429 CtFeatureTypeSecondaryLink = 7,
430 CtFeatureTypeTertiaryRoad = 8,
431 CtFeatureTypeUnclassifiedRoad = 9,
432 CtFeatureTypeResidentialRoad = 10,
433 CtFeatureTypeTrack = 11,
434 CtFeatureTypeServiceRoad = 12,
435 CtFeatureTypePedestrianRoad = 13,
436 CtFeatureTypeVehicularFerry = 14,
437 CtFeatureTypePassengerFerry = 15,
438 CtFeatureTypeLivingStreet = 16,
439 CtFeatureTypeCycleway = 17,
440 CtFeatureTypePath = 18,
441 CtFeatureTypeFootway = 19,
442 CtFeatureTypeBridleway = 20,
443 CtFeatureTypeSteps = 21,
444 CtFeatureTypeOtherRoad = 22,
445 CtFeatureTypeUnpavedRoad = 23,
446 CtFeatureTypeRailway = 24,
447 CtFeatureTypeLightRail = 25,
448 CtFeatureTypeSubway = 26,
449 CtFeatureTypeAerialWay = 27,
450 CtFeatureTypeSkiDownhill = 28,
451 CtFeatureTypeSkiNordic = 29,
452 CtFeatureTypeWaterway = 30,
453 CtFeatureTypeUnknownRoute = 31,
454
455 CtFeatureTypeUnknownNonRoute = 32,
456
457 /*
458 Three-letter type codes. Keep these in alphabetic order of type letters to avoid duplicates.
459 No routable types should appear among the three-letter codes; all routable objects should be
460 given one of the types 0...31.
461
462 The lowest possible three-letter code, aaa, has the value 1057 = 1024 + 32 + 1.
463 The highest code, zzz, has the value 27482 = (1024 * 26) + (32 * 26) + 26.
464 */
465 CtFeatureTypeAdminArea1 = MakeFeatureTypeCode('a','a','a'),
466 CtFeatureTypeAdminArea2 = MakeFeatureTypeCode('a','a','b'),
467 CtFeatureTypeAdminArea3 = MakeFeatureTypeCode('a','a','c'),
468 CtFeatureTypeAdminArea4 = MakeFeatureTypeCode('a','a','d'),
469 CtFeatureTypeAdminArea5 = MakeFeatureTypeCode('a','a','e'),
470 CtFeatureTypeAdminArea6 = MakeFeatureTypeCode('a','a','f'),
471 CtFeatureTypeAdminArea7 = MakeFeatureTypeCode('a','a','g'),
472 CtFeatureTypeAdminArea8 = MakeFeatureTypeCode('a','a','h'),
473 CtFeatureTypeAdminArea9 = MakeFeatureTypeCode('a','a','i'),
474 CtFeatureTypeAdminArea10 = MakeFeatureTypeCode('a','a','j'),
475 CtFeatureTypeAddress = MakeFeatureTypeCode('a','d','d'),
476 CtFeatureTypeAerodrome = MakeFeatureTypeCode('a','e','r'),
477 CtFeatureTypeAirport = MakeFeatureTypeCode('a','i','r'),
478 CtFeatureTypeAirportGate = MakeFeatureTypeCode('a','g','t'),
479 CtFeatureTypeAirportHoldingPosition = MakeFeatureTypeCode('a','h','p'),
480 CtFeatureTypeAllotments = MakeFeatureTypeCode('a','l','l'),
481 CtFeatureTypeAlpineHut = MakeFeatureTypeCode('a','l','p'),
482 CtFeatureTypeAmbulanceStation = MakeFeatureTypeCode('a','m','b'),
483 CtFeatureTypeApron = MakeFeatureTypeCode('a','p','r'),
484 CtFeatureTypeAerialWayPylon = MakeFeatureTypeCode('a','p','y'),
485 CtFeatureTypeArtwork = MakeFeatureTypeCode('a','r','t'),
486 CtFeatureTypeAerialWayStation = MakeFeatureTypeCode('a','s','t'),
487 CtFeatureTypeAirTerminal = MakeFeatureTypeCode('a','t','e'),
488 CtFeatureTypeAtm = MakeFeatureTypeCode('a','t','m'),
489 CtFeatureTypeAttraction = MakeFeatureTypeCode('a','t','t'),
490 CtFeatureTypeBar = MakeFeatureTypeCode('b','a','r'),
491 CtFeatureTypeBasin = MakeFeatureTypeCode('b','a','s'),
492 CtFeatureTypeBay = MakeFeatureTypeCode('b','a','y'),
493 CtFeatureTypeBeach = MakeFeatureTypeCode('b','e','a'),
494 CtFeatureTypeBeacon = MakeFeatureTypeCode('b','e','c'),
495 CtFeatureTypeBedAndBreakfast = MakeFeatureTypeCode('b','e','d'),
496 CtFeatureTypeBench = MakeFeatureTypeCode('b','e','n'),
497 CtFeatureTypeBank = MakeFeatureTypeCode('b','n','k'),
498 CtFeatureTypeBoatyard = MakeFeatureTypeCode('b','o','a'),
499 CtFeatureTypeBorough = MakeFeatureTypeCode('b','o','r'),
500 CtFeatureTypeBoundary = MakeFeatureTypeCode('b','o','u'),
501 CtFeatureTypeBicycleParking = MakeFeatureTypeCode('b','p','k'),
502 CtFeatureTypeBicycleRental = MakeFeatureTypeCode('b','r','e'),
503 CtFeatureTypeBareRock = MakeFeatureTypeCode('b','r','c'),
504 CtFeatureTypeBarracks = MakeFeatureTypeCode('b','r','k'),
505 CtFeatureTypeBrownField = MakeFeatureTypeCode('b','r','o'),
506 CtFeatureTypeBusStop = MakeFeatureTypeCode('b','s','p'),
507 CtFeatureTypeBusStation = MakeFeatureTypeCode('b','s','t'),
508 CtFeatureTypeBufferStop = MakeFeatureTypeCode('b','u','f'),
509 CtFeatureTypeBuilding = MakeFeatureTypeCode('b','u','i'),
510 CtFeatureTypeBunker = MakeFeatureTypeCode('b','u','n'),
511 CtFeatureTypeCabin = MakeFeatureTypeCode('c','a','b'),
512 CtFeatureTypeCafe = MakeFeatureTypeCode('c','a','f'),
513 CtFeatureTypeCampSite = MakeFeatureTypeCode('c','a','m'),
514 CtFeatureTypeCanal = MakeFeatureTypeCode('c','a','n'),
515 CtFeatureTypeCaveEntrance = MakeFeatureTypeCode('c','a','v'),
516 CtFeatureTypeCableCar = MakeFeatureTypeCode('c','c','r'),
517 CtFeatureTypeCableDistributionCabinet = MakeFeatureTypeCode('c','d','c'),
518 CtFeatureTypeCemetery = MakeFeatureTypeCode('c','e','m'),
519 CtFeatureTypeChairLift = MakeFeatureTypeCode('c','h','a'),
520 CtFeatureTypeCheckPoint = MakeFeatureTypeCode('c','h','e'),
521 CtFeatureTypeChalet = MakeFeatureTypeCode('c','h','l'),
522 CtFeatureTypeCivilBoundary = MakeFeatureTypeCode('c','i','b'),
523 CtFeatureTypeCinema = MakeFeatureTypeCode('c','i','n'),
524 CtFeatureTypeCity = MakeFeatureTypeCode('c','i','t'),
525 CtFeatureTypeCliff = MakeFeatureTypeCode('c','l','f'),
526 CtFeatureTypeClinic = MakeFeatureTypeCode('c','l','i'),
527 CtFeatureTypeCommercial = MakeFeatureTypeCode('c','m','r'),
528 CtFeatureTypeCoastline = MakeFeatureTypeCode('c','o','a'),
529 CtFeatureTypeCollege = MakeFeatureTypeCode('c','o','l'),
530 CtFeatureTypeCommon = MakeFeatureTypeCode('c','o','m'),
531 CtFeatureTypeConstruction = MakeFeatureTypeCode('c','n','s'),
532 CtFeatureTypeConservation = MakeFeatureTypeCode('c','n','v'),
533 CtFeatureTypeContinent = MakeFeatureTypeCode('c','o','n'),
534 CtFeatureTypeCounty = MakeFeatureTypeCode('c','o','u'),
535 CtFeatureTypeCarPark = MakeFeatureTypeCode('c','p','k'),
536 CtFeatureTypeCarRental = MakeFeatureTypeCode('c','r','e'),
537 CtFeatureTypeCrossing = MakeFeatureTypeCode('c','r','o'),
538 CtFeatureTypeCountry = MakeFeatureTypeCode('c','r','y'),
539 CtFeatureTypeCarSharing = MakeFeatureTypeCode('c','s','h'),
540 CtFeatureTypeCutLine = MakeFeatureTypeCode('c','u','t'),
541 CtFeatureTypeCarWash = MakeFeatureTypeCode('c','w','a'),
542 CtFeatureTypeCaravanSite = MakeFeatureTypeCode('c','v','n'),
543 CtFeatureTypeCyclingRoute = MakeFeatureTypeCode('c','y','r'),
544 CtFeatureTypeDam = MakeFeatureTypeCode('d','a','m'),
545 CtFeatureTypeDangerArea = MakeFeatureTypeCode('d','a','n'),
546 CtFeatureTypeDentist = MakeFeatureTypeCode('d','e','n'),
547 CtFeatureTypeDisused = MakeFeatureTypeCode('d','i','s'),
548 CtFeatureTypeDitch = MakeFeatureTypeCode('d','i','t'),
549 CtFeatureTypeDock = MakeFeatureTypeCode('d','o','c'),
550 CtFeatureTypeDogPark = MakeFeatureTypeCode('d','o','g'),
551 CtFeatureTypeDrain = MakeFeatureTypeCode('d','r','a'),
552 CtFeatureTypeDragLift = MakeFeatureTypeCode('d','r','g'),
553 CtFeatureTypeDoctors = MakeFeatureTypeCode('d','r','s'),
554 CtFeatureTypeDistrict = MakeFeatureTypeCode('d','s','t'),
555 CtFeatureTypeElectricVehicleCharging = MakeFeatureTypeCode('e','v','c'),
556 CtFeatureTypeFarm = MakeFeatureTypeCode('f','a','r'),
557 CtFeatureTypeFarmYard = MakeFeatureTypeCode('f','a','y'),
558 CtFeatureTypeFell = MakeFeatureTypeCode('f','e','l'),
559 CtFeatureTypeFerryTerminal = MakeFeatureTypeCode('f','e','t'),
560 CtFeatureTypeFastFood = MakeFeatureTypeCode('f','f','d'),
561 CtFeatureTypeFireExtinguisher = MakeFeatureTypeCode('f','i','e'),
562 CtFeatureTypeFireFlapper = MakeFeatureTypeCode('f','i','f'),
563 CtFeatureTypeFireHose = MakeFeatureTypeCode('f','i','h'),
564 CtFeatureTypeFireStation = MakeFeatureTypeCode('f','i','s'),
565 CtFeatureTypeFitnessStation = MakeFeatureTypeCode('f','i','t'),
566 CtFeatureTypeFireHydrant = MakeFeatureTypeCode('f','i','y'),
567 CtFeatureTypeForestry = MakeFeatureTypeCode('f','o','r'),
568 CtFeatureTypeFishing = MakeFeatureTypeCode('f','s','h'),
569 CtFeatureTypeFuel = MakeFeatureTypeCode('f','u','e'),
570 CtFeatureTypeFunicular = MakeFeatureTypeCode('f','u','n'),
571 CtFeatureTypeGarages = MakeFeatureTypeCode('g','a','r'),
572 CtFeatureTypeGate = MakeFeatureTypeCode('g','a','t'),
573 CtFeatureTypeGarden = MakeFeatureTypeCode('g','d','n'),
574 CtFeatureTypeGenerator = MakeFeatureTypeCode('g','e','n'),
575 CtFeatureTypeGreenHouse = MakeFeatureTypeCode('g','h','o'),
576 CtFeatureTypeGlacier = MakeFeatureTypeCode('g','l','a'),
577 CtFeatureTypeGolfCourse = MakeFeatureTypeCode('g','o','l'),
578 CtFeatureTypeGondola = MakeFeatureTypeCode('g','o','n'),
579 CtFeatureTypeGoodsAerialWay = MakeFeatureTypeCode('g','o','o'),
580 CtFeatureTypeGrass = MakeFeatureTypeCode('g','r','a'),
581 CtFeatureTypeGreenField = MakeFeatureTypeCode('g','r','e'),
582 CtFeatureTypeGritBin = MakeFeatureTypeCode('g','r','b'),
583 CtFeatureTypeGraveYard = MakeFeatureTypeCode('g','r','y'),
584 CtFeatureTypeGuestHouse = MakeFeatureTypeCode('g','u','e'),
585 CtFeatureTypeHalt = MakeFeatureTypeCode('h','a','l'),
586 CtFeatureTypeHamlet = MakeFeatureTypeCode('h','a','m'),
587 CtFeatureTypeHangar = MakeFeatureTypeCode('h','a','n'),
588 CtFeatureTypeHeath = MakeFeatureTypeCode('h','e','a'),
589 CtFeatureTypeHelipad = MakeFeatureTypeCode('h','e','l'),
590 CtFeatureTypeRailwayHalt = MakeFeatureTypeCode('h','l','t'),
591 CtFeatureTypeHikingRoute = MakeFeatureTypeCode('h','i','k'),
592 CtFeatureTypeHorseRiding = MakeFeatureTypeCode('h','o','r'),
593 CtFeatureTypeHospital = MakeFeatureTypeCode('h','o','s'),
594 CtFeatureTypeHotel = MakeFeatureTypeCode('h','o','t'),
595 CtFeatureTypeHorseRidingRoute = MakeFeatureTypeCode('h','r','r'),
596 CtFeatureTypeHostel = MakeFeatureTypeCode('h','s','t'),
597 CtFeatureTypeIceRink = MakeFeatureTypeCode('i','c','e'),
598 CtFeatureTypeIndustrial = MakeFeatureTypeCode('i','n','d'),
599 CtFeatureTypeInformation = MakeFeatureTypeCode('i','n','f'),
600 CtFeatureTypeIsland = MakeFeatureTypeCode('i','s','l'),
601 CtFeatureTypeIsolatedDwelling = MakeFeatureTypeCode('i','s','o'),
602 CtFeatureTypeJunction = MakeFeatureTypeCode('j','c','t'),
603 CtFeatureTypeKindergarten = MakeFeatureTypeCode('k','i','n'),
604 CtFeatureTypeLandFill = MakeFeatureTypeCode('l','a','n'),
605 CtFeatureTypeLand = MakeFeatureTypeCode('l','n','d'),
606 CtFeatureTypeLevelCrossing = MakeFeatureTypeCode('l','e','v'),
607 CtFeatureTypeLibrary = MakeFeatureTypeCode('l','i','b'),
608 CtFeatureTypeLocality = MakeFeatureTypeCode('l','o','c'),
609 CtFeatureTypeLockGate = MakeFeatureTypeCode('l','o','k'),
610 CtFeatureTypeMaritimeBoundary = MakeFeatureTypeCode('m','a','b'),
611 CtFeatureTypeMall = MakeFeatureTypeCode('m','a','l'),
612 CtFeatureTypeMarsh = MakeFeatureTypeCode('m','a','r'),
613 CtFeatureTypeMeadow = MakeFeatureTypeCode('m','e','a'),
614 CtFeatureTypeMilitary = MakeFeatureTypeCode('m','i','l'),
615 CtFeatureTypeMarina = MakeFeatureTypeCode('m','n','a'),
616 CtFeatureTypeMotel = MakeFeatureTypeCode('m','o','t'),
617 CtFeatureTypeMinorPowerLine = MakeFeatureTypeCode('m','p','l'),
618 CtFeatureTypeMiniatureGolf = MakeFeatureTypeCode('m','r','g'),
619 CtFeatureTypeMiniatureRailway = MakeFeatureTypeCode('m','r','y'),
620 CtFeatureTypeMud = MakeFeatureTypeCode('m','u','d'),
621 CtFeatureTypeMunicipality = MakeFeatureTypeCode('m','u','n'),
622 CtFeatureTypeMuseum = MakeFeatureTypeCode('m','u','s'),
623 CtFeatureTypeNatureReserve = MakeFeatureTypeCode('n','a','t'),
624 CtFeatureTypeNationalPark = MakeFeatureTypeCode('n','a','p'),
625 CtFeatureTypeNavalBase = MakeFeatureTypeCode('n','a','v'),
626 CtFeatureTypeNeighborhood = MakeFeatureTypeCode('n','e','i'),
627 CtFeatureTypeNursingHome = MakeFeatureTypeCode('n','u','r'),
628 CtFeatureTypeOcean = MakeFeatureTypeCode('o','c','e'),
629 CtFeatureTypeOrchard = MakeFeatureTypeCode('o','r','c'),
630 CtFeatureTypePrecisionApproachPathIndicator = MakeFeatureTypeCode('p','a','p'),
631 CtFeatureTypePark = MakeFeatureTypeCode('p','a','r'),
632 CtFeatureTypePublicBuilding = MakeFeatureTypeCode('p','b','u'),
633 CtFeatureTypePostBox = MakeFeatureTypeCode('p','b','x'),
634 CtFeatureTypePostCode = MakeFeatureTypeCode('p','c','o'),
635 CtFeatureTypePicnicTable = MakeFeatureTypeCode('p','c','t'),
636 CtFeatureTypePeak = MakeFeatureTypeCode('p','e','a'),
637 CtFeatureTypePharmacy = MakeFeatureTypeCode('p','h','a'),
638 CtFeatureTypePhone = MakeFeatureTypeCode('p','h','o'),
639 CtFeatureTypePicnicSite = MakeFeatureTypeCode('p','i','c'),
640 CtFeatureTypePier = MakeFeatureTypeCode('p','i','e'),
641 CtFeatureTypePipeline = MakeFeatureTypeCode('p','i','p'),
642 CtFeatureTypeParkingEntrance = MakeFeatureTypeCode('p','k','e'),
643 CtFeatureTypeParking = MakeFeatureTypeCode('p','k','g'),
644 CtFeatureTypeParkingSpace = MakeFeatureTypeCode('p','k','s'),
645 CtFeatureTypePlantNursery = MakeFeatureTypeCode('p','l','a'),
646 CtFeatureTypePlatform = MakeFeatureTypeCode('p','l','f'),
647 CtFeatureTypePlaceOfWorship = MakeFeatureTypeCode('p','l','w'),
648 CtFeatureTypePlayground = MakeFeatureTypeCode('p','l','y'),
649 CtFeatureTypePostOffice = MakeFeatureTypeCode('p','o','f'),
650 CtFeatureTypePolice = MakeFeatureTypeCode('p','o','l'),
651 CtFeatureTypePosition = MakeFeatureTypeCode('p','o','s'),
652 CtFeatureTypeProtectedArea = MakeFeatureTypeCode('p','r','a'),
653 CtFeatureTypePowerSubStation = MakeFeatureTypeCode('p','s','s'),
654 CtFeatureTypePub = MakeFeatureTypeCode('p','u','b'),
655 CtFeatureTypePowerLine = MakeFeatureTypeCode('p','w','l'),
656 CtFeatureTypePowerStation = MakeFeatureTypeCode('p','w','s'),
657 CtFeatureTypeQuarry = MakeFeatureTypeCode('q','a','r'),
658 CtFeatureTypeQuarter = MakeFeatureTypeCode('q','r','t'),
659 CtFeatureTypeRange = MakeFeatureTypeCode('r','a','n'),
660 CtFeatureTypeRapids = MakeFeatureTypeCode('r','a','p'),
661 CtFeatureTypeRecycling = MakeFeatureTypeCode('r','c','y'),
662 CtFeatureTypeRecreationGround = MakeFeatureTypeCode('r','e','c'),
663 CtFeatureTypeReef = MakeFeatureTypeCode('r','e','e'),
664 CtFeatureTypeRegion = MakeFeatureTypeCode('r','e','g'),
665 CtFeatureTypeRetail = MakeFeatureTypeCode('r','e','t'),
666 CtFeatureTypeRidge = MakeFeatureTypeCode('r','i','j'),
667 CtFeatureTypeRiver = MakeFeatureTypeCode('r','i','v'),
668 CtFeatureTypeRock = MakeFeatureTypeCode('r','o','c'),
669 CtFeatureTypeRoundHouse = MakeFeatureTypeCode('r','o','u'),
670 CtFeatureTypeResidentialArea = MakeFeatureTypeCode('r','s','d'),
671 CtFeatureTypeRestaurant = MakeFeatureTypeCode('r','s','t'),
672 CtFeatureTypeReservoir = MakeFeatureTypeCode('r','s','v'),
673 CtFeatureTypeRunway = MakeFeatureTypeCode('r','u','n'),
674 CtFeatureTypeRoute = MakeFeatureTypeCode('r','u','t'),
675 CtFeatureTypeRiverBank = MakeFeatureTypeCode('r','v','b'),
676 CtFeatureTypeSaltPond = MakeFeatureTypeCode('s','a','l'),
677 CtFeatureTypeSand = MakeFeatureTypeCode('s','a','n'),
678 CtFeatureTypeSauna = MakeFeatureTypeCode('s','a','u'),
679 CtFeatureTypeSchool = MakeFeatureTypeCode('s','c','h'),
680 CtFeatureTypeScree = MakeFeatureTypeCode('s','c','r'),
681 CtFeatureTypeScrub = MakeFeatureTypeCode('s','c','b'),
682 CtFeatureTypeSea = MakeFeatureTypeCode('s','e','a'),
683 CtFeatureTypeStateEmergencyServiceStation = MakeFeatureTypeCode('s','e','s'),
684 CtFeatureTypeShop = MakeFeatureTypeCode('s','h','o'),
685 CtFeatureTypeSkiRoute = MakeFeatureTypeCode('s','k','r'),
686 CtFeatureTypeSlipway = MakeFeatureTypeCode('s','l','i'),
687 CtFeatureTypeSportsCenter = MakeFeatureTypeCode('s','p','o'),
688 CtFeatureTypeSportsPitch = MakeFeatureTypeCode('s','p','p'),
689 CtFeatureTypeSpring = MakeFeatureTypeCode('s','p','r'),
690 CtFeatureTypeSportsTrack = MakeFeatureTypeCode('s','p','t'),
691 CtFeatureTypeState = MakeFeatureTypeCode('s','t','a'),
692 CtFeatureTypeStadium = MakeFeatureTypeCode('s','t','m'),
693 CtFeatureTypeRailwayStation = MakeFeatureTypeCode('s','t','n'),
694 CtFeatureTypeStation = MakeFeatureTypeCode('s','t','n'), // deliberate duplicate
695 CtFeatureTypeStone = MakeFeatureTypeCode('s','t','o'),
696 CtFeatureTypeStopPosition = MakeFeatureTypeCode('s','t','p'),
697 CtFeatureTypeStream = MakeFeatureTypeCode('s','t','r'),
698 CtFeatureTypeStrait = MakeFeatureTypeCode('s','t','t'),
699 CtFeatureTypeSuburb = MakeFeatureTypeCode('s','u','b'),
700 CtFeatureTypeSupermarket = MakeFeatureTypeCode('s','u','p'),
701 CtFeatureTypeSurveyPoint = MakeFeatureTypeCode('s','u','r'),
702 CtFeatureTypeSubwayEntrance = MakeFeatureTypeCode('s','w','e'),
703 CtFeatureTypeSwimmingPool = MakeFeatureTypeCode('s','w','i'),
704 CtFeatureTypeTank = MakeFeatureTypeCode('t','a','n'),
705 CtFeatureTypeTaxi = MakeFeatureTypeCode('t','a','x'),
706 CtFeatureTypeTheatre = MakeFeatureTypeCode('t','h','e'),
707 CtFeatureTypeThemePark = MakeFeatureTypeCode('t','h','p'),
708 CtFeatureTypeToilet = MakeFeatureTypeCode('t','o','i'),
709 CtFeatureTypeTown = MakeFeatureTypeCode('t','o','w'),
710 CtFeatureTypeTurningCircle = MakeFeatureTypeCode('t','c','i'),
711 CtFeatureTypeTurningPoint = MakeFeatureTypeCode('t','p','t'),
712 CtFeatureTypeTram = MakeFeatureTypeCode('t','r','a'),
713 CtFeatureTypeTree = MakeFeatureTypeCode('t','r','e'),
714 CtFeatureTypeTrafficSignals = MakeFeatureTypeCode('t','r','f'),
715 CtFeatureTypeTrackPoint = MakeFeatureTypeCode('t','r','p'),
716 CtFeatureTypeTreeRow = MakeFeatureTypeCode('t','r','r'),
717 CtFeatureTypeTramStop = MakeFeatureTypeCode('t','r','s'),
718 CtFeatureTypeTurnTable = MakeFeatureTypeCode('t','u','r'),
719 CtFeatureTypeTower = MakeFeatureTypeCode('t','w','r'),
720 CtFeatureTypeTaxiway = MakeFeatureTypeCode('t','w','y'),
721 CtFeatureTypeUniversity = MakeFeatureTypeCode('u','n','i'),
722 CtFeatureTypeVisualApproachSlopeIndicator = MakeFeatureTypeCode('v','a','s'),
723 CtFeatureTypeVillageGreen = MakeFeatureTypeCode('v','i','g'),
724 CtFeatureTypeVillage = MakeFeatureTypeCode('v','i','l'),
725 CtFeatureTypeVineyard = MakeFeatureTypeCode('v','i','n'),
726 CtFeatureTypeViewPoint = MakeFeatureTypeCode('v','i','w'),
727 CtFeatureTypeVolcano = MakeFeatureTypeCode('v','o','l'),
728 CtFeatureTypeWaterfall = MakeFeatureTypeCode('w','a','f'),
729 CtFeatureTypeWaterPark = MakeFeatureTypeCode('w','a','p'),
730 CtFeatureTypeWater = MakeFeatureTypeCode('w','a','t'),
731 CtFeatureTypeWeir = MakeFeatureTypeCode('w','e','r'),
732 CtFeatureTypeWetland = MakeFeatureTypeCode('w','e','t'),
733 CtFeatureTypeWildernessHut = MakeFeatureTypeCode('w','i','l'),
734 CtFeatureTypeWindsock = MakeFeatureTypeCode('w','i','s'),
735 CtFeatureTypeWalkingRoute = MakeFeatureTypeCode('w','l','k'),
736 CtFeatureTypeWood = MakeFeatureTypeCode('w','o','o'),
737 CtFeatureTypeWorks = MakeFeatureTypeCode('w','o','r'),
738 CtFeatureTypeWaypoint = MakeFeatureTypeCode('w','p','t'),
739 CtFeatureTypeWaterTower = MakeFeatureTypeCode('w','t','t'),
740 CtFeatureTypeWaterWell = MakeFeatureTypeCode('w','t','w'),
741 CtFeatureTypeZoo = MakeFeatureTypeCode('z','o','o'),
742
743 // legacy types for backward compatibility
744 CtFeatureTypeLegacyBridleway = MakeFeatureTypeCode('b','r','i'),
745 CtFeatureTypeLegacyCycleway = MakeFeatureTypeCode('c','y','c'),
746 CtFeatureTypeLegacyFootway = MakeFeatureTypeCode('f','o','o'),
747 CtFeatureTypeLegacyLightRail = MakeFeatureTypeCode('l','i','r'),
748 CtFeatureTypeLegacyMonorail = MakeFeatureTypeCode('m','o','n'),
749 CtFeatureTypeLegacyNarrowGauge = MakeFeatureTypeCode('n','a','r'),
750 CtFeatureTypeLegacyPreservedRailway = MakeFeatureTypeCode('p','r','y'),
751 CtFeatureTypeLegacyRailway = MakeFeatureTypeCode('r','l','y'),
752 CtFeatureTypeLegacySteps = MakeFeatureTypeCode('s','t','e'),
753 CtFeatureTypeLegacySubway = MakeFeatureTypeCode('s','w','y'),
754 CtFeatureTypeLegacyTram = MakeFeatureTypeCode('t','r','a'),
755
756 CtFeatureTypeInvalid = INT16_MAX
757 };
758
759typedef CtFeatureType CartoTypeFeatureType;
760
762typedef NS_ENUM(NSUInteger,CtFeatureDiscriminator)
763 {
765 CtFeatureDiscriminatorNonRoute = 0,
767 CtFeatureDiscriminatorBridgeRoute = 1,
769 CtFeatureDiscriminatorTunnelRoute = 2,
771 CtFeatureDiscriminatorRoute = 3
772 };
773
774typedef CtFeatureDiscriminator CartoTypeFeatureDiscriminator;
775
793@interface CtFeatureInfo: NSObject
795 -(id)init;
797 -(id)initWithType:(CtFeatureType)aFeatureType;
803 -(id)initWithTypeAndSubType:(CtFeatureType)aFeatureType subType:(int)aSubType;
808 -(id)initWithSubType:(int)aSubType;
810 @property (nonatomic) CtFeatureDiscriminator discriminator;
812 @property (nonatomic) bool route;
814 @property (nonatomic) bool tunnel;
816 @property (nonatomic) bool bridge;
818 @property (nonatomic) int level;
820 @property (nonatomic) CtFeatureType type;
822 @property (nonatomic) bool oneWay;
824 @property (nonatomic) bool oneWayForward;
826 @property (nonatomic) bool oneWayBackward;
828 @property (nonatomic) bool driveOnLeft;
830 @property (nonatomic) bool driveOnRight;
834 @property (nonatomic) bool roundabout;
836 @property (nonatomic) bool toll;
838 @property (nonatomic) bool wrongWay;
840 @property (nonatomic) int speedLimit;
842 @property (nonatomic) int gradient;
844 -(void)setVehicleAccess:(bool)aValue;
846 @property (nonatomic) bool pedestrianAccess;
848 @property (nonatomic) bool cycleAccess;
850 @property (nonatomic) bool motorVehicleAccess;
852 @property (nonatomic) bool emergencyVehicleAccess;
854 @property (nonatomic) bool otherAccessRestricted;
856 @property (nonatomic) bool isPrivate;
858 @property (nonatomic) int subType;
860 -(id)initWithRawValue:(uint32_t)aValue;
862 -(uint32_t)rawValue;
863@end
865@compatibility_alias CartoTypeFeatureInfo CtFeatureInfo;
866
868static const uint32_t CtFeatureInfoRouteTypeCount = 32;
870static const uint32_t CtFeatureInfoGradientCount = 8;
872static const uint32_t CtFeatureInfoMaxSubType = 2047;
873
875typedef uint32_t CtRouteAccess NS_TYPED_ENUM;
876
878CtRouteAccess const CtRouteAccessShift = 26;
880CtRouteAccess const CtRouteAccessMask = 63U << CtRouteAccessShift;
882CtRouteAccess const CtRouteAccessWrongWayFlag = 1 << 26;
884CtRouteAccess const CtRouteAccessPedestrianFlag = 1 << 27;
886CtRouteAccess const CtRouteAccessCycleFlag = 1 << 28;
888CtRouteAccess const CtRouteAccessMotorVehicleFlag = 1 << 29;
890CtRouteAccess const CtRouteAccessEmergencyVehicleFlag = 1 << 30;
892CtRouteAccess const CtRouteAccessOtherFlag = 1U << 31;
897
899@interface CtMapObject: NSObject <CtPath>
901 -(id)initWithMapObject:(void*)aMapObject;
903 -(void)dealloc;
905 @property (nonatomic) CtMapObjectType type;
907 @property (nonatomic) NSString* layerName;
909 @property (nonatomic) NSString* label;
911 -(NSString*)stringAttribute:(NSString*)aAttribName;
913 -(NSMutableDictionary*)stringAttributes;
915 @property (nonatomic) CtFeatureInfo* featureInfo;
921 @property (nonatomic) CtPoint center;
922
924 @property (nonatomic) CtRect bounds;
925
933 @property (nonatomic) CtPointAndResult centerInDegrees;
934
936 @property (nonatomic) CtRectAndResult boundsInDegrees;
937
948 -(CtMatch*)match:(NSString*)aText matchMethod:(CtStringMatch)aMethod attributes:(NSString*)aAttributes phrase:(bool)aPhrase;
950 @property (nonatomic) uint64_t objectId;
954 -(int)pointCount:(int)aContourIndex;
956 -(CtPathPoint)point:(int)aContourIndex pointIndex:(int)aPointIndex;
958 @property (nonatomic) double area;
960 @property (nonatomic) double lengthOrPerimeter;
961
963 -(void*)object;
964@end
966@compatibility_alias CartoTypeMapObject CtMapObject;
967
969@interface CtMapObjectGroup: NSObject
971 -(id)initWithMapObjectGroup:(void*)aMapObjectGroup;
973 @property (nonatomic, strong) NSString* name;
975 @property (nonatomic, strong) NSMutableArray* objectArray;
976@end
978@compatibility_alias CartoTypeMapObjectGroup CtMapObjectGroup;
979
981typedef NS_ENUM(NSInteger,CtPathIntersectionType)
982 {
984 CtPathIntersectionTypeUnknown,
986 CtPathIntersectionTypeSeparate,
988 CtPathIntersectionTypeIntersects,
990 CtPathIntersectionTypeContains,
992 CtPathIntersectionTypeContained
993 };
994
995typedef CtPathIntersectionType CartoTypePathIntersectionType;
996
998@interface CtPathIntersectionInfo: NSObject
1000 @property (nonatomic) CtPathIntersectionType type;
1005 @property (nonatomic) double distance;
1010 @property (nonatomic) CtPoint nearest1;
1015 @property (nonatomic) CtPoint nearest2;
1016
1018 -(void*)pointer;
1019@end
1021@compatibility_alias CartoTypePathIntersectionInfo CtPathIntersectionInfo;
1022
1024typedef NS_ENUM(NSInteger,CtClipOperation)
1025 {
1027 CtClipOperationIntersection,
1029 CtClipOperationUnion,
1031 CtClipOperationDifference,
1033 CtClipOperationXor
1034 };
1035
1036typedef CtClipOperation CartoTypeClipOperation;
1037
1039@interface CtGeometry: NSObject
1041 -(id)initWithCoordType:(CtCoordType)aCoordType;
1043 -(id)initWithMapObject:(CtMapObject*)aMapObject;
1045 -(id)initWithGeometryContour:(CtGeometry*)aGeometry contourIndex:(int)aContourIndex;
1047 -(id)initWithRect:(CtRect)aRect coordType:(CtCoordType)aCoordType;
1049 -(void)dealloc;
1051 -(CtCoordType)coordType;
1053 -(void)appendX:(double)aX andY:(double)aY;
1055 -(void)appendX:(double)aX andY:(double)aY andPointType:(CtPointType)aPointType;
1061 -(bool)contourIsOuter:(int)aContourIndex;
1063 -(int)pointCount:(int)aContourIndex;
1065 -(CtPathPointFP)point:(int)aContourIndex pointIndex:(int)aPointIndex;
1067 -(bool)isEmpty;
1069 -(bool)isClosed;
1071 -(void)setClosed:(bool)aClosed;
1073 -(void)reverse;
1075 -(CtResult)convertLinesToGreatCircles:(double)aMaxDistanceInMeters;
1077 -(CtPathIntersectionType)intersectionType:(CtMapObject*)aMapObject;
1082 -(CtPathIntersectionInfo*)intersectionInfo:(CtMapObject*)aMapObject;
1084 -(NSArray<NSNumber*>*)intersectionTypes:(NSArray<CtMapObjectGroup*>*)aMapObjectArray;
1089 -(NSArray<CtPathIntersectionInfo*>*)intersectionInfos:(NSArray<CtMapObjectGroup*>*)aMapObjectArray;
1091 -(bool) intersects:(CtMapObject*)aMapObject;
1093 -(bool) contains:(CtMapObject*)aMapObject;
1095 -(bool) contained:(CtMapObject*)aMapObject;
1104 -(CtGeometry*) clip:(CtClipOperation)aClipOperation mapObject:(CtMapObject*)aMapObject;
1113 -(NSArray<CtGeometry*>*) clip:(CtClipOperation)aClipOperation mapObjects:(NSArray<CtMapObjectGroup*>*)aMapObjectArray;
1121 +(CtGeometry*) envelope:(CtMapObject*)aMapObject offsetInMeters:(double)aOffsetInMeters;
1122
1124 -(id)initWithGeometry:(void*)aGeometry;
1126 -(void*)geometry;
1127@end
1129@compatibility_alias CartoTypeGeometry CtGeometry;
1130
1132@interface CtFindParam: NSObject
1134 -(id)init;
1136 -(id)initWithFeatureType:(CtFeatureType)aFeatureType text:(NSString*)aText location:(CtGeometry*)aLocation;
1137
1139 @property (nonatomic) int maxObjectCount;
1141 @property (nonatomic) CtGeometry* clip;
1143 @property (nonatomic) CtGeometry* location;
1145 @property (nonatomic, strong) NSString* layers;
1150 @property (nonatomic, strong) NSString* attributes;
1155 @property (nonatomic, strong) NSString* text;
1157 @property (nonatomic) CtStringMatch stringMatchMethod;
1162 @property (nonatomic, strong) NSString* condition;
1164 @property (nonatomic) bool merge;
1169 @property (nonatomic) double timeOut;
1170@end
1172@compatibility_alias CartoTypeFindParam CtFindParam;
1173
1175typedef NS_ENUM(NSInteger,CtWritableMapType)
1176 {
1178 CtWritableMapTypeMemory,
1180 CtWritableMapTypeSQLite
1181 };
1182
1183typedef CtWritableMapType CartoTypeWritableMapType;
1184
1186typedef NS_ENUM(NSInteger,CtNoticeAnchor)
1187 {
1189 CtNoticeAnchorTopLeft,
1191 CtNoticeAnchorTopRight,
1193 CtNoticeAnchorBottomLeft,
1195 CtNoticeAnchorBottomRight,
1197 CtNoticeAnchorTop,
1199 CtNoticeAnchorRight,
1201 CtNoticeAnchorLeft,
1203 CtNoticeAnchorBottom,
1205 CtNoticeAnchorCenter
1206 };
1207
1208typedef CtNoticeAnchor CartoTypeNoticeAnchor;
1209
1220@interface CtNoticePosition: NSObject
1222 -(id)init:(CtNoticeAnchor)aAnchor;
1224 -(id)init:(CtNoticeAnchor)aAnchor width:(double)aWidth widthUnit:(NSString*)aWidthUnit xInset:(double)aXInset xUnit:(NSString*)aXUnit yInset:(double)aYInset yUnit:(NSString*)aYUnit;
1226 -(void*)position;
1227@end
1229@compatibility_alias CartoTypeNoticePosition CtNoticePosition;
1230
1232@interface CtPositionedBitmap: NSObject
1234 -(id)init:(UIImage*)aImage topLeft:(CGPoint)aTopLeft;
1236 -(void)dealloc;
1238 @property (nonatomic, strong) UIImage* image;
1240 @property (nonatomic) CGPoint topLeft;
1241@end
1243@compatibility_alias CartoTypePositionedBitmap CtPositionedBitmap;
1244
1246@interface CtPerspectiveParam: NSObject
1248 -(CtResult)readFromXml:(NSString*)aText;
1250 -(NSString*)toXml;
1252 @property (nonatomic) CtPoint positionDegrees;
1254 @property (nonatomic) bool autoPosition;
1256 @property (nonatomic) double heightMeters;
1258 @property (nonatomic) double azimuthDegrees;
1260 @property (nonatomic) bool autoAzimuth;
1262 @property (nonatomic) double declinationDegrees;
1264 @property (nonatomic) double rotationDegrees;
1266 @property (nonatomic) double fieldOfViewDegrees;
1269@end
1271@compatibility_alias CartoTypePerspectiveParam CtPerspectiveParam;
1272
1274@interface CtViewState: NSObject
1276 -(CtResult)readFromXml:(NSString*)aText;
1278 -(NSString*)toXml;
1280 @property (nonatomic) int widthInPixels;
1282 @property (nonatomic) int heightInPixels;
1284 @property (nonatomic) CtPoint viewCenterDegrees;
1286 @property (nonatomic) double scaleDenominator;
1288 @property (nonatomic) double rotationDegrees;
1290 @property (nonatomic) bool perspective;
1294 -(void)setPerspectiveParam:(CtPerspectiveParam*)aPerspectiveParam;
1296 -(void*)viewState;
1297@end
1299@compatibility_alias CartoTypeViewState CtViewState;
1300
1302typedef NS_ENUM(NSInteger,CtLetterCase)
1303 {
1305 CtLetterCaseNone,
1307 CtLetterCaseLower,
1309 CtLetterCaseUpper,
1314 CtLetterCaseTitle
1315 };
1316
1317typedef CtLetterCase CartoTypeLetterCase;
1318
1320typedef uint16_t CtMapTableId NS_TYPED_ENUM;
1321
1323CtMapTableId const CtMapTableIdGlobal = 0;
1325CtMapTableId const CtMapTableIdLayer = 1;
1327CtMapTableId const CtMapTableIdProjection = 4;
1329CtMapTableId const CtMapTableIdString = 5;
1331CtMapTableId const CtMapTableIdLowResolutionLayer = 6;
1333CtMapTableId const CtMapTableIdPalette = 7;
1335CtMapTableId const CtMapTableIdTextIndex = 8;
1337CtMapTableId const CtMapTableIdRouteAStar = 10;
1339CtMapTableId const CtMapTableIdRouteCH = 11;
1341CtMapTableId const CtMapTableIdRouteExtra = 12;
1343CtMapTableId const CtMapTableIdRouteTurnExpanded = 13;
1345CtMapTableId const CtMapTableIdRouteCHStandAlone = 14;
1347CtMapTableId const CtMapTableIdRouteTECH = 15;
1349CtMapTableId const CtMapTableIdRouteCHTiled = 16;
1351CtMapTableId const CtMapTableIdRouteTECHTiled = 17;
1355CtMapTableId const CtMapTableIdNone = UINT16_MAX;
1356
1362typedef NS_ENUM(NSInteger,CtPointFormat)
1363 {
1365 CtPointFormatUnknown = 0,
1366
1368 CtPointFormatMeter = 2,
1369
1376 CtPointFormatScaledDegree = 7,
1377
1382 CtPointFormatMeter32nds = 8
1383 };
1384
1385typedef CtPointFormat CartoTypePointFormat;
1386
1388@interface CtMapMetaData: NSObject
1390 @property (nonatomic) int fileVersionMajor;
1392 @property (nonatomic) int fileVersionMinor;
1394 @property (nonatomic) int CartoTypeVersionMajor;
1396 @property (nonatomic) int CartoTypeVersionMinor;
1398 @property (nonatomic) int CartoTypeBuild;
1400 @property (nonatomic) NSString* dataSetName;
1402 @property (nonatomic) NSString* copyright;
1404 @property (nonatomic) NSString* projectionName;
1406 @property (nonatomic) NSMutableArray<NSString*>* layers;
1408 @property (nonatomic) NSString* projectionParameters;
1410 @property (nonatomic) CtPointFormat pointFormat;
1412 @property (nonatomic) CtRect extentInMapCoords;
1414 @property (nonatomic) CtRect extentInDegrees;
1416 @property (nonatomic) CtMapTableId routeTableType;
1418 @property (nonatomic) bool routeDataHasGradients;
1420 @property (nonatomic) bool largeFile;
1422 @property (nonatomic) bool drivingSideKnown;
1424 @property (nonatomic) bool driveOnLeft;
1425
1427 -(id)initWithMetaData:(void*)aMetaData;
1429 -(const void*)metaData;
1430@end
1432@compatibility_alias CartoTypeMapMetaData CtMapMetaData;
1433
1439@interface CtMapObjectParam: NSObject
1441 -(id)initWithType:(CtMapObjectType)aType andLayer:(NSString*)aLayer andCoordType:(CtCoordType)aCoordType;
1443 -(void)dealloc;
1445 -(void)appendX:(double)aX andY:(double)aY;
1447 -(void)appendX:(double)aX andY:(double)aY andPointType:(CtPointType)aPointType;
1451 -(void*)geometry;
1452
1454 @property (nonatomic) uint32_t mapHandle;
1456 @property (nonatomic, strong) NSString* layer;
1458 @property (nonatomic) double radius;
1460 @property (nonatomic) double radiusX;
1462 @property (nonatomic) double radiusY;
1464 @property (nonatomic) CtCoordType radiusCoordType;
1466 @property (nonatomic) double rotationDegrees;
1468 @property (nonatomic, strong) CtFeatureInfo* featureInfo;
1470 @property (nonatomic, strong) NSString* stringAttrib;
1472 @property (nonatomic) uint64_t objectId;
1474 @property (nonatomic) bool replace;
1475@end
1477@compatibility_alias CartoTypeMapObjectParam CtMapObjectParam;
1478
1480@interface CtTileParam: NSObject
1496 -(void)addTileSet:(NSString*)aFileNameTemplate tileRange:(CtRect)aTileRange fileZoom:(int)aFileZoom minDisplayZoom:(int)aMinDisplayZoom maxDisplayZoom:(int)aMaxDisplayZoom;
1497
1499 -(const void*)tileParam;
1500@end
1502@compatibility_alias CartoTypeTileParam CtTileParam;
1503
1504
1505#endif
CtMapTableId const CtMapTableIdPalette
Definition CartoTypeBase.h:1333
CtColor CartoTypeColor
Definition CartoTypeBase.h:282
CtRouteAccess const CtRouteAccessMask
Definition CartoTypeBase.h:880
#define MakeFeatureTypeCode(A, B, C)
Definition CartoTypeBase.h:411
CtFileType CartoTypeFileType
Definition CartoTypeBase.h:95
CtWritableMapType CartoTypeWritableMapType
Definition CartoTypeBase.h:1183
CtPathPoint CartoTypePathPoint
Definition CartoTypeBase.h:162
CtRectAndResult CartoTypeRectAndResult
Definition CartoTypeBase.h:223
CtRouteAccess const CtRouteAccessOtherFlag
Definition CartoTypeBase.h:892
CtCoordType CartoTypeCoordType
Definition CartoTypeBase.h:277
CtMapTableId const CtMapTableIdRouteExtra
Definition CartoTypeBase.h:1341
CtColor const CtColorDarkCyan
Definition CartoTypeBase.h:299
CtMapTableId const CtMapTableIdTextIndex
Definition CartoTypeBase.h:1335
CtRect CartoTypeRect
Definition CartoTypeBase.h:201
CtColor const CtColorDarkRed
Definition CartoTypeBase.h:289
CtRouteAccess const CtRouteAccessShift
Definition CartoTypeBase.h:878
CtColor const CtColorRed
Definition CartoTypeBase.h:301
CtFeatureDiscriminator CartoTypeFeatureDiscriminator
Definition CartoTypeBase.h:774
CtPathPointFP CartoTypePathPointFP
Definition CartoTypeBase.h:175
CtMapTableId const CtMapTableIdLowResolutionLayer
Definition CartoTypeBase.h:1331
CtStringMatch CartoTypeStringMatch
Definition CartoTypeBase.h:70
CtRouteAccess const CtRouteAccessVehicle
Definition CartoTypeBase.h:894
CtMapTableId const CtMapTableIdRouteCHTiled
Definition CartoTypeBase.h:1349
CtPointFormat CartoTypePointFormat
Definition CartoTypeBase.h:1385
CtAreaLengthAndResult CartoTypeAreaLengthAndResult
Definition CartoTypeBase.h:260
uint32_t CtColor NS_TYPED_ENUM
Definition CartoTypeBase.h:280
CtIdAndResult CartoTypeIdAndResult
Definition CartoTypeBase.h:247
typedef NS_OPTIONS(NSUInteger, CtFontStyle)
Definition CartoTypeBase.h:22
CtColor const CtColorDarkGray
Definition CartoTypeBase.h:287
CtColor const CtColorMagenta
Definition CartoTypeBase.h:309
CtColor const CtColorBlack
Definition CartoTypeBase.h:285
CtClipOperation CartoTypeClipOperation
Definition CartoTypeBase.h:1036
CtRouteAccess const CtRouteAccessPedestrianFlag
Definition CartoTypeBase.h:884
CtColor const CtColorGray
Definition CartoTypeBase.h:313
CtColor const CtColorTransparentBlack
Definition CartoTypeBase.h:317
CtColor const CtColorDarkYellow
Definition CartoTypeBase.h:293
CtMapTableId const CtMapTableIdRouteTECH
Definition CartoTypeBase.h:1347
CtMapTableId const CtMapTableIdRouteTurnExpandedCompact
Definition CartoTypeBase.h:1353
CtMapObjectType CartoTypeMapObjectType
Definition CartoTypeBase.h:119
CtAlign CartoTypeAlign
Definition CartoTypeBase.h:149
CtPoint CartoTypePoint
Definition CartoTypeBase.h:186
CtColor const CtColorDarkBlue
Definition CartoTypeBase.h:295
CtLetterCase CartoTypeLetterCase
Definition CartoTypeBase.h:1317
CtColor const CtColorGreen
Definition CartoTypeBase.h:303
CtColor const CtColorYellow
Definition CartoTypeBase.h:305
CtPointType CartoTypePointType
Definition CartoTypeBase.h:132
CtColor const CtColorWhite
Definition CartoTypeBase.h:315
CtMapTableId const CtMapTableIdLayer
Definition CartoTypeBase.h:1325
CtPathIntersectionType CartoTypePathIntersectionType
Definition CartoTypeBase.h:995
CtColor const CtColorCyan
Definition CartoTypeBase.h:311
CtRouteAccess const CtRouteAccessNormal
Definition CartoTypeBase.h:896
CtFontStyle CartoTypeFontStyle
Definition CartoTypeBase.h:38
CtFeatureType CartoTypeFeatureType
Definition CartoTypeBase.h:759
CtRouteAccess const CtRouteAccessCycleFlag
Definition CartoTypeBase.h:886
CtMapTableId const CtMapTableIdGlobal
Definition CartoTypeBase.h:1323
CtMapTableId const CtMapTableIdRouteCH
Definition CartoTypeBase.h:1339
CtMapTableId const CtMapTableIdNone
Definition CartoTypeBase.h:1355
CtRouteAccess const CtRouteAccessMotorVehicleFlag
Definition CartoTypeBase.h:888
CtRouteAccess const CtRouteAccessWrongWayFlag
Definition CartoTypeBase.h:882
CtMapTableId const CtMapTableIdString
Definition CartoTypeBase.h:1329
CtMapTableId const CtMapTableIdRouteAStar
Definition CartoTypeBase.h:1337
CtMapTableId const CtMapTableIdRouteTurnExpanded
Definition CartoTypeBase.h:1343
CtMapTableId const CtMapTableIdProjection
Definition CartoTypeBase.h:1327
typedef NS_ENUM(NSInteger, CtFileType)
Definition CartoTypeBase.h:73
CtRouteAccess const CtRouteAccessEmergencyVehicleFlag
Definition CartoTypeBase.h:890
CtColor const CtColorDarkGreen
Definition CartoTypeBase.h:291
CtColor const CtColorDarkMagenta
Definition CartoTypeBase.h:297
CtColor const CtColorBlue
Definition CartoTypeBase.h:307
CtMapTableId const CtMapTableIdRouteCHStandAlone
Definition CartoTypeBase.h:1345
CtMapTableId const CtMapTableIdRouteTECHTiled
Definition CartoTypeBase.h:1351
CtNoticeAnchor CartoTypeNoticeAnchor
Definition CartoTypeBase.h:1208
CtPointAndResult CartoTypePointAndResult
Definition CartoTypeBase.h:212
uint32_t CtResult
Definition CartoTypeResultCode.h:363
Definition CartoTypeBase.h:350
NSString * feature
Definition CartoTypeBase.h:353
NSString * country
Definition CartoTypeBase.h:367
NSString * island
Definition CartoTypeBase.h:361
NSString * building
Definition CartoTypeBase.h:351
NSString * postCode
Definition CartoTypeBase.h:369
NSString * street
Definition CartoTypeBase.h:355
NSString * adminArea
Definition CartoTypeBase.h:365
NSString * locality
Definition CartoTypeBase.h:359
NSString * subLocality
Definition CartoTypeBase.h:357
NSString * subAdminArea
Definition CartoTypeBase.h:363
Definition CartoTypeBase.h:324
CtColor textColor
Definition CartoTypeBase.h:334
const void * blendStyle()
CtColor iconColor
Definition CartoTypeBase.h:338
NSString * styles
Definition CartoTypeBase.h:328
CtColor textGlowColor
Definition CartoTypeBase.h:336
CtColor borderColor
Definition CartoTypeBase.h:332
CtColor mainColor
Definition CartoTypeBase.h:330
Definition CartoTypeBase.h:794
bool driveOnLeft
Definition CartoTypeBase.h:828
bool toll
Definition CartoTypeBase.h:836
bool oneWay
Definition CartoTypeBase.h:822
int level
Definition CartoTypeBase.h:818
bool cycleAccess
Definition CartoTypeBase.h:848
bool oneWayBackward
Definition CartoTypeBase.h:826
bool tunnel
Definition CartoTypeBase.h:814
bool wrongWay
Definition CartoTypeBase.h:838
bool pedestrianAccess
Definition CartoTypeBase.h:846
bool roundabout
Definition CartoTypeBase.h:834
int subType
Definition CartoTypeBase.h:858
bool driveOnRight
Definition CartoTypeBase.h:830
bool bridge
Definition CartoTypeBase.h:816
bool route
Definition CartoTypeBase.h:812
bool isPrivate
Definition CartoTypeBase.h:856
CtFeatureType type
Definition CartoTypeBase.h:820
void reverseOneWayDirection()
bool emergencyVehicleAccess
Definition CartoTypeBase.h:852
uint32_t rawValue()
int speedLimit
Definition CartoTypeBase.h:840
int gradient
Definition CartoTypeBase.h:842
bool otherAccessRestricted
Definition CartoTypeBase.h:854
CtFeatureDiscriminator discriminator
Definition CartoTypeBase.h:810
bool motorVehicleAccess
Definition CartoTypeBase.h:850
bool oneWayForward
Definition CartoTypeBase.h:824
Definition CartoTypeBase.h:1133
NSString * layers
Definition CartoTypeBase.h:1145
int maxObjectCount
Definition CartoTypeBase.h:1139
CtGeometry * clip
Definition CartoTypeBase.h:1141
double timeOut
Definition CartoTypeBase.h:1169
bool merge
Definition CartoTypeBase.h:1164
NSString * text
Definition CartoTypeBase.h:1155
NSString * attributes
Definition CartoTypeBase.h:1150
CtGeometry * location
Definition CartoTypeBase.h:1143
NSString * condition
Definition CartoTypeBase.h:1162
CtStringMatch stringMatchMethod
Definition CartoTypeBase.h:1157
Definition CartoTypeBase.h:230
CtResult result
Definition CartoTypeBase.h:233
CtGeometry * geometry
Definition CartoTypeBase.h:231
Definition CartoTypeBase.h:1040
void reverse()
CtCoordType coordType()
bool isEmpty()
void beginContour()
void dealloc()
void * geometry()
int contourCount()
bool isClosed()
Definition CartoTypeBase.h:1389
CtPointFormat pointFormat
Definition CartoTypeBase.h:1410
bool routeDataHasGradients
Definition CartoTypeBase.h:1418
int CartoTypeVersionMinor
Definition CartoTypeBase.h:1396
bool drivingSideKnown
Definition CartoTypeBase.h:1422
NSString * copyright
Definition CartoTypeBase.h:1402
CtRect extentInMapCoords
Definition CartoTypeBase.h:1412
NSString * dataSetName
Definition CartoTypeBase.h:1400
int CartoTypeVersionMajor
Definition CartoTypeBase.h:1394
bool largeFile
Definition CartoTypeBase.h:1420
const void * metaData()
NSString * projectionParameters
Definition CartoTypeBase.h:1408
bool driveOnLeft
Definition CartoTypeBase.h:1424
int fileVersionMajor
Definition CartoTypeBase.h:1390
NSString * projectionName
Definition CartoTypeBase.h:1404
CtMapTableId routeTableType
Definition CartoTypeBase.h:1416
int CartoTypeBuild
Definition CartoTypeBase.h:1398
CtRect extentInDegrees
Definition CartoTypeBase.h:1414
NSMutableArray< NSString * > * layers
Definition CartoTypeBase.h:1406
int fileVersionMinor
Definition CartoTypeBase.h:1392
Definition CartoTypeBase.h:970
NSMutableArray * objectArray
Definition CartoTypeBase.h:975
NSString * name
Definition CartoTypeBase.h:973
Definition CartoTypeBase.h:899
CtRectAndResult boundsInDegrees
Definition CartoTypeBase.h:936
CtFeatureInfo * featureInfo
Definition CartoTypeBase.h:915
int contourCount()
double area
Definition CartoTypeBase.h:958
double lengthOrPerimeter
Definition CartoTypeBase.h:960
CtPointAndResult centerInDegrees
Definition CartoTypeBase.h:933
NSString * layerName
Definition CartoTypeBase.h:907
NSString * label
Definition CartoTypeBase.h:909
void * object()
CtPoint center
Definition CartoTypeBase.h:921
CtGeometryAndResult * geometryInDegrees
Definition CartoTypeBase.h:939
NSMutableDictionary * stringAttributes()
CtRect bounds
Definition CartoTypeBase.h:924
uint64_t objectId
Definition CartoTypeBase.h:950
CtMapObjectType type
Definition CartoTypeBase.h:905
Definition CartoTypeBase.h:1440
uint64_t objectId
Definition CartoTypeBase.h:1472
NSString * layer
Definition CartoTypeBase.h:1456
double radiusX
Definition CartoTypeBase.h:1460
double radius
Definition CartoTypeBase.h:1458
double radiusY
Definition CartoTypeBase.h:1462
CtFeatureInfo * featureInfo
Definition CartoTypeBase.h:1468
uint32_t mapHandle
Definition CartoTypeBase.h:1454
bool replace
Definition CartoTypeBase.h:1474
double rotationDegrees
Definition CartoTypeBase.h:1466
CtCoordType radiusCoordType
Definition CartoTypeBase.h:1464
NSString * stringAttrib
Definition CartoTypeBase.h:1470
Definition CartoTypeBase.h:396
size_t start
Definition CartoTypeBase.h:403
NSString * key
Definition CartoTypeBase.h:399
NSString * value
Definition CartoTypeBase.h:401
bool found
Definition CartoTypeBase.h:397
size_t end
Definition CartoTypeBase.h:405
Definition CartoTypeBase.h:1221
Definition CartoTypeBase.h:999
CtPoint nearest2
Definition CartoTypeBase.h:1015
CtPoint nearest1
Definition CartoTypeBase.h:1010
double distance
Definition CartoTypeBase.h:1005
CtPathIntersectionType type
Definition CartoTypeBase.h:1000
Definition CartoTypeBase.h:1247
bool autoPosition
Definition CartoTypeBase.h:1254
double heightMeters
Definition CartoTypeBase.h:1256
double fieldOfViewDegrees
Definition CartoTypeBase.h:1266
double rotationDegrees
Definition CartoTypeBase.h:1264
void * getPerspectiveParam()
NSString * toXml()
bool autoAzimuth
Definition CartoTypeBase.h:1260
double declinationDegrees
Definition CartoTypeBase.h:1262
double azimuthDegrees
Definition CartoTypeBase.h:1258
CtPoint positionDegrees
Definition CartoTypeBase.h:1252
Definition CartoTypeBase.h:1233
CGPoint topLeft
Definition CartoTypeBase.h:1240
UIImage * image
Definition CartoTypeBase.h:1238
Definition CartoTypeBase.h:1481
const void * tileParam()
Definition CartoTypeBase.h:1275
bool perspective
Definition CartoTypeBase.h:1290
CtPoint viewCenterDegrees
Definition CartoTypeBase.h:1284
void * viewState()
double rotationDegrees
Definition CartoTypeBase.h:1288
NSString * toXml()
CtPerspectiveParam * getPerspectiveParam()
double scaleDenominator
Definition CartoTypeBase.h:1286
int heightInPixels
Definition CartoTypeBase.h:1282
int widthInPixels
Definition CartoTypeBase.h:1280
Definition CartoTypeBase.h:381
int contourCount()
Definition CartoTypeBase.h:251
double area
Definition CartoTypeBase.h:253
CtResult result
Definition CartoTypeBase.h:257
double length
Definition CartoTypeBase.h:255
Definition CartoTypeBase.h:240
CtResult result
Definition CartoTypeBase.h:244
uint64_t objectId
Definition CartoTypeBase.h:242
Definition CartoTypeBase.h:166
double y
Definition CartoTypeBase.h:170
double x
Definition CartoTypeBase.h:168
CtPointType type
Definition CartoTypeBase.h:172
Definition CartoTypeBase.h:153
int32_t x
Definition CartoTypeBase.h:155
CtPointType type
Definition CartoTypeBase.h:159
int32_t y
Definition CartoTypeBase.h:157
Definition CartoTypeBase.h:205
CtResult result
Definition CartoTypeBase.h:209
CtPoint point
Definition CartoTypeBase.h:207
Definition CartoTypeBase.h:179
double x
Definition CartoTypeBase.h:181
double y
Definition CartoTypeBase.h:183
Definition CartoTypeBase.h:216
CtResult result
Definition CartoTypeBase.h:220
CtRect rect
Definition CartoTypeBase.h:218
Definition CartoTypeBase.h:190
double maxY
Definition CartoTypeBase.h:198
double minX
Definition CartoTypeBase.h:192
double maxX
Definition CartoTypeBase.h:196
double minY
Definition CartoTypeBase.h:194