Download the Maps App
 
  • Products
    • Overview
    • Mapping Engine
    • Pricing
  • Markets
  • Developers
    • Overview
    • Evaluation SDKs
    • Documentation
      • Style Sheets
      • Release Notes
    • The Maps App
  • The Maps App
  • Articles
  • Contact
    • Contact us
    • @CartoType
Logo
  • Products
    • Overview
    • Mapping Engine
    • Pricing
  • Markets
  • Developers
    • Overview
    • Evaluation SDKs
    • Documentation
    • The Maps App
  • The Maps App
  • Articles
  • Contact
    • Contact us
    • @CartoType

CartoType Documentation

Learn more about CartoType.

Release notes for CartoType 4.4

Release date: 27th July 2017

Previous release: 4.3, 21st April 2017

Summary of changes

You can use any shape to clip the results of searches for map objects, by providing a geometry object as the clip region. Geometry objects can be created from map objects and rectangles.

The route and route segment classes no longer contain route instructions. You can create them easily from any route object using a new function. This makes route calculation much faster; sometimes you want to create a route and show it on the map, but not create the instructions, and the last step is rather expensive.

There is now a function to get all the string attributes of a map object as a suitable aggregate such as a std::map (C++) or a sorted dictionary (.NET).

You can set the colors of icons and label text using map object attributes, and you can create icons consisting of a character or characters from an
icon font; such a font is provided: MapkeyIcons.ttf. The new style sheet attributes are:

  • In <label> or <extraLabel>, the attribute colorAttrib names a map object attribute providing the label text color as a standard color specification as used in style sheets: a name, hex number starting with #, etc. If present, this color overrides the normal label color.
  • In <icon>, font attributes can be used, like font-size and font-style, to set the font of a text icon.
  • In <icon>, the attribute 'color' sets the icon color, colorizing it if it is normally a multi-color SVG icon, or setting its color if it is a text icon.
  • In <icon>, the attribute 'colorAttrib' names a map object attribute providing the icon color. It overrides 'color'.
  • In <icon>, the attribute 'text' provides a character or characters to be used as a text icon. For example, the character '&#xe054;'
    (using the XML representation of the Unicode private-use codepoint U+E054) is
    a camp-site icon in the MapkeyIcons font which is now supplied with CartoType.
  • In <icon>, the attribute 'textAttrib' names a map object attribute providing the character or characters to be used as a text icon. It overrides 'text'.

Changes to the C++ API

Nearly all plain enum types are now enum class, and have shorter names. For example, EFollowModeNone is now TFollowMode::None. However, in the most common cases, backward-compatible definitions have been provided, as for example 'constexpr TFollowMode EFollowModeNone = TFollowMode::None;' .

Some functions which in practice always returned KErrorNone now do not return an error code and are of 'void' return type. For example, CFramework::EnableMapByHandle.

The bit values TNavigationData::ETimeValid, etc., now start with K and are TNavigationData::KTimeValid, etc. The E prefix for enumerated values is being phased out, and these values are in any case constants, which by convention take the prefix K.

TFindParam::iClipCoordType has been abolished, and iClip is now of type CGeometry; CGeometry has a coordinate type. This means that all searches can now use a non-rectangular clip area. You can create CGeometry objects from TRectFP and CMapObject, or create them by adding points manually.

The new function 'std::map<CString,CString> CMapObject::GetStringAttributes() const' returns all the string attributes of a map object.

The CRoute class no longer contains route instructions. Use this function to get route instructions for the current locale: 'CString CFramework::RouteInstructions(const CRoute& aRoute) const' .

Changes to the .NET API

FindParam.m_clip_coord_type has been abolished, and m_clip is now a reference to Geometry; Geometry has a coordinate type. This means that all searches can now use a non-rectangular clip area. You can create Geometry objects from Rect and MapObject, or create them by adding points manually.

MapObject.GetStringAttributes() now returns a sorted dictionary mapping keys to values. It formerly returned a list of strings, implicitly treated as key-value pairs.

The Route class no longer contains route instructions. Use Framework.GetRouteInstructions instead. It gets instructions for the current locale.

Some functions which in practice always returned ErrorNone now do not return an error code and are of 'void' return type. For example, Framework.EnableMapByHandle.

Changes to the Android API

FindParam.iClipCoordType has been abolished, and iClip is now a reference to Geometry; Geometry has a coordinate type. This means that all searches can now use a non-rectangular clip area. You can create Geometry objects from Rect and MapObject, or create them by adding points manually. The multi-argument find() function has changed in the same way: its aClipCoordType argument has been abolished, and aClip is now a reference to Geometry.

MapObject.getStringAttributes() now returns a TreeMap mapping keys to values. It formerly returned a list of strings, implicitly treated as key-value pairs. The former functionality is still available as getStringAttributesArray().

The Route class no longer contains route instructions. Use Framework.getRouteInstructions instead. It gets instructions for the current locale.

Some functions which in practice always returned no error (0) now do not return an error code and are of 'void' return type. For example, Framework.enableMap.

Changes to the iOS API

CartoTypeFindParam.clipCoordType has been abolished, and clip is now a reference to CartoTypeGeometry; CartoTypeGeometry has a coordinate type. This means that all searches can now use a non-rectangular clip area. You can create CartoTypeGeometry objects from CartoTypeRect and CartoTypeMapObject, or create them by adding points manually.

The new getStringAttributes method of CartoTypeMapObject returns an NSMutableDictionary mapping keys to values.

The CartoTypeRoute route class no longer has a getInstructions method. Use the getRouteInstructions method of CartoTypeFramework instead.

Some functions which in practice always returned CTErrorNone now do not return an error code and are of 'void' return type. For example, setStyleSheetVariable.

Changes to the Maps App

The Maps App now allows you to set the colors of icons, and optionally choose a custom icon from the supplied icon font, MapkeyIcons.ttf.

Release notes for CartoType 4.3

Release date: 21st April 2017

Previous release: 4.2, 12th December 2016

Major changes since the previous release

Added a new routing system, turn-expanded A-star, which allows routes to pass through the same junction or road segment twice.

Added functions to set and get the preferred routing system and find out what the actual current routing system is.

Improved the system for allowing routes to pass along private highways at start and end, which was formerly unreliable and could cause slow route calculation.

The CFramework functions GeoCodeSummary and GetAddress no longer take a locale parameter. They use the locale set by CFramework::SetLocale; analogous changes have been made to the Android, .NET, and iOS SDKs.

Changes affecting the C++ API only

Abolished the CartoType-specific array classes CArray, CPointerArray, CNonOwningPointerArray, TFixedSizeArray. Standard library std::vector and std::array classes are now used instead of them.

Added functions CFramework::AbbreviatePlacename and ExpandStreetName.

Added the string class TWritableText, mostly for internal use.

The TTextLiteral macro now causes no code to be executed at run-time.

Changes affecting the .NET API only

The Geometry class now has functions to get the number of contours, number of points in any contour, the coordinates of a point, and whether the object is empty.

Changes affecting the IOS API only

The CartoTypeGeometry class now has functions to get the number of contours, number of points in any contour, and the coordinates of a point.

Changes to makemap

Many more projections are supported by the /project option, allowing you to use (for example) Lambert Equal Area with default parameters by simply using /project=laea instead of having to supply the full set of proj.4 options. The names are the same as those used in proj.4. The following projections are now supported: merc, cea, eqc, tmerc, tcea, cass, sinu, moll, eck1...eck6, goode, hatano, mbtfpp, mbtfpq, mbtfps, putp2, putp5, quau, winkl, boggs, collg, dense, parab, poly, hammer, wag7, aitoff, wintri, loxim, bonne, lcc, eqdc, pconic, aea, leac, rpoly, stere, sterea, gnom, ortho, airy, laea, aeqd.

A better memory allocation system gives about a 13% speed improvement when creating a CTM1 file from OSM data.

Some parallellization gives a further small speed improvement on multi-core computers; e.g., 3% on four physical cores.

Release notes for CartoType 5.0

Release date: 7th February 2018

Previous release: 4.4, 27th July 2017

Summary of changes

The graphics acceleration system known as CartoType GL is now incorporated into the standard version of CartoType. To use it, you create a CFramework object in the normal way, loading the map, style sheet and fonts, then create a CMapRenderer object referencing your framework. You can then draw the map at, for example, thirty frames per second, in response to a timer event.

The CMapRenderer class is a C++ class. For Android there is the Java class MapRenderer, and for iOS there is the Objective C class CartoTypeMapRenderer.

Graphics acceleration is available for iOS, Android, Windows (desktop), OS X (Macintosh), and Linux. It is available on the Qt framework for Windows (desktop), OS X (Macintosh) and Linux.

Release Notes for CartoType 7.0

This release was made on 5th March 2021 and is based on mainline revision 9722. It is a major release with incompatible changes to APIs, which are detailed below.

The previous release, 6.2, was made on 5th September 2020 and was based on mainline revision 9241.

Tiled route data

The makemap tool can now split contraction hierarchy route data into tiles. Any subset of the tiled maps from a particular makemap run can be used together, and routing will work using the tiles that are present. You can load and unload maps at any time. Routing will use the tiles that are available. If you load extra tiles and recreate a route, the new route may be different because of the added route data. If CartoType can't create a route because of missing tiles you will get the 'no route connectivity' error.

Read more …

Release Notes for CartoType 7.2

This release was made on 13th May 2021 and is based on mainline revision 9870.

The previous release, 7.0, was made on 5th March 2021 and was based on mainline revision 9722.

Map object editing functions

There are new functions to make it easier to add interactive editing to a CartoType application. They manage the creation and editing of linear and polygonal objects by means of pointer presses and movements and allow the new objects to be added to any layer of the map.

The Maps App demonstrates some of the new functions using these actions:

Read more …

Release Notes for CartoType 7.4

This release was made on 27th July 2021 and is based on mainline revision 9961.

The previous release, 7.2, was made on 13th May 2021 and was based on mainline revision 9870.

Setting colors of map objects individually

It is now possible to give every map object that is a line or a polygon its own main color and border color, overriding any colors set in the style sheet. Formerly that was possible only for
icons. The new feature is principally useful when inserting map objects at run time ('dynamic map objects') but can be used when building the CTM1 file by inserting appropriate logic in the .makemap rules.

Read more …

Release Notes for CartoType 7.6

This release was made on 18th October 2021 and is based on mainline revision 10121.

The previous release, 7.4, was made on 27th July 2021 and was based on mainline revision 9961.

A new routing system with compact data

There is a new routing system, Turn-Expanded Compact. Use the option /route=tc in makemap. It requires much less run-time memory, but, unlike the contraction hierarchy systems, allows arbitrary route profiles to be set at run time. It is suitable for large areas such as the whole of the UK on mobile platforms like iOS and Android.

Read more …

Release Notes for CartoType 7.8

This release was made on 29th March 2022 and is based on mainline revision 10409.

The previous release, 7.6, was made on 18th October 2021 and was based on mainline revision 10121.

Added time/distance matrix function

There is now a function to return a time/distance matrix giving the route time and distance for all combinations of a set of start points and a set of end points. It is implemented for the turn-expanded contraction hierarchy  /route=tech), turn-expanded (/route=t), and a-star (/route=a) routers. The fastest implementation by far is that for the TECH router, but that implementation does not support arbitrary run-time route profiles or dynamic road closures. The fastest flexible implementation, which does support those features, is that for the turn-expanded router.

There is a new makemap option, /hublabels=yes, which can be used in conjunction with /route=tech to add hub label data to the TECH route data to enable ultra-fast calculation of time/distance matrices.

Read more …

Release Notes for CartoType 8.0

This release was made on 5th July 2022 and is based on mainline revision 10787.

The previous release, 7.8, was made on 28th March 2022 and was based on mainline revision 10409.

This is a major release which introduces many source code incompatibilities. They fall into two categories: renaming of public identifiers, and the introduction of simpler and consistent feature types for map objects. The aim is to make CartoType applications easier to write, read and debug.

The previous release will continue to be supported until 31st July 2024 and will receive bug fixes but no new features.

Read more …

Release Notes for CartoType 8.2

This release was made on 9th December 2022 and is based on commit 8.2-57-g51a9fa561 in the new Git repository.

The previous release was made on 5th July 2022 and was based on CartoType-mainline revision 10787 in the Mercurial repository.

The main change is a great improvement to street address searching, using a new table in the map file.

Read more …

Release Notes for CartoType 8.4

This release, 8.4, was made on 20th February 2023 and is based on commit 8.4-1-gcb08c572d in the Git repository.

The previous release, 8.2, was made on 9th December 2022 and was based on commit 8.2-57-g51a9fa561 in the Git repository.

The main changes are the renaming of ctm1_info, the tool for describing the contents of a map file, to mapinfo; and some important changes to the standard style sheet.

Read more …

Release Notes for CartoType 8.6

This release, 8.6, was made on 8th August 2023 and is based on commit 8.6-1-gc0939f76f in the Git repository.

The previous release, 8.4, was made on 20th February 2023 and was based on commit 8.4-1-gcb08c572d in the Git repository.

The main change is the introduction of support for online map data.

Read more …

Release notes for CartoType 3.3

Release date: 13th May 2015

Changeset: 4926 (efa659079cbf)

Previous release: 3.2, 26th January 2015

Read more …

Demos

CartoType demonstration applications

These programs are intended to show off the features of CartoType and help you decide whether the CartoType library could be a useful part of your software application.

By using the CartoType demonstration programs, maps or style sheets, however acquired, you accept the terms of the CartoType Evaluation License and you also accept that neither CartoType Ltd, nor any owners, shareholders or officers of CartoType Ltd, or any other contributors to, authors of or maintainers of the CartoType system, are liable for any damage, direct or consequential, caused by downloading, installing or using the demonstration programs, maps or style sheets, and that the demonstration programs, maps or style sheets are not warranted fit for any particular use and are for evaluation use only and may not be used for any commercial purpose.

Read more …

CartoType SDKs

Evaluation SDKs (software development kits) allow you to try out CartoType before you buy a license. You will be able to create a test application and  find out whether CartoType is the right solution for you. The evaluation SDKs provide access to all functionality, including interactive map display, route calculation, address searching, and geocoding. API documentation is available on-line.

The CartoType evaluation SDKs (software development kits) are provided for evaluation only, excluding any commercial use. For commercial licensing please contact us.

Read more …

Subcategories

Style Sheets

Release Notes

Downloads

Page 5 of 5

  • 1
  • 2
  • 3
  • 4
  • 5
Documentation
  • Release Notes for CartoType 9.2
  • Release Notes for CartoType 9.0
  • CartoType and .NET using C# and other languages
  • Release Notes for CartoType 8.12
  • CartoType and Mapbox
  • Release Notes for CartoType 8.10
  • Release Notes for CartoType 8.8
  • Release Notes for CartoType 8.6
  • CartoType Online
  • Release Notes for CartoType 8.4
  • Release Notes for CartoType 8.2
  • Release Notes for CartoType 8.0
  • Release Notes for CartoType 7.8
  • Release Notes for CartoType 7.6
  • Release Notes for CartoType 7.4
  • CartoType and Jetson
  • Release Notes for CartoType 7.0
  • Release Notes for CartoType 7.2
  • How to search and analyse maps
  • Release Notes for CartoType 6.2

Explore CartoType Today

The Maps App

Developers choose CartoType for powerful software,
beautiful maps and exceptional service.

  • Products
  • Overview
  • Mapping Engine
  • Pricing
  • Markets
  • Developers
  • Overview
  • Evaluation SDKs
  • The Maps App
  • Documentation
  • The Maps App
  • Articles
  • Contact

Ready to try CartoType?

Let's Get Started @CartoType
Logo

All content copyright 2025 CartoType Ltd. By continuing to use this site you are agreeing to use our cookies.
You can read more about this in our Privacy & Cookies Policy page.