Version History



  • Improved : Core Improvements


  • New : TTMSFNCTollCost: Options.TravelInfo properties added
  • New : TTMSFNCTollCost: Here migration to Here Routes API
  • New : TTMSFNCStaticMap: Here API version updated
  • New : RAD Studio 12 support added


  • New : TTMSFNCPlaces: TomTom service added
  • New : TTMSFNCGoogleRoutes component


  • Improved : Core Improvements


  • New : TTMSFNCOpenLayers: OpenLayers v8 API compatibilty
  • New : TTMSFNCGooglePlaces: Support to use GetPlaceDetail with results from GetAutoComplete
  • New : TTMSFNCGoogleMaps: OnKMLLayerClick event added
  • Fixed : TTMSFNCTollCost: Issue with JSON parsing in Here
  • Fixed : TTMSFNCElevation: Issue with AirMap due to changes in the API


  • New : TTMSFNCTomTom: API version updated
  • New : TTMSFNCMapBox: API version updated
  • New : TTMSFNCLeaflet component
  • New : TTMSFNCHere: API version updated
  • New : Leaflet mapping service support


  • Improved : Core Improvements


  • Fixed : Issue with StreetName not properly implemented in TTMSFNCGeocoding


  • New : TTMSFNCGeocoding: StreetName property added
  • New : Bounds positioning for ElementContainers and Labels
  • Fixed : TTMSFNCOpenLayers: Issue with MarkerMouseEnter/MarkerMouseLeave events


  • Fixed : TTMSFNCOpenLayers: Issue with MarkerMouseEnter/MarkerMouseLeave events


  • Improved : Core Improvements


  • New : TTMSFNCOpenLayers: Support for WMS and GeoJSON type tilelayers
  • New : TTMSFNCOpenLayers: Options.ShowBaseLayer property
  • New : TTMSFNCOpenLayers: LibraryLocation property for offline support
  • New : LatLonToXY and XYToLatLon functions for MapKit Azure OpenLayers Bing
  • New : GPX export in TTMSFNCDirections and TTMSFNCRouteCalculator
  • New : ElementContainers: Coordinate positioning support
  • New : Abstract Label support
  • Fixed : Azure Maps: Fixed issue with Map events due to changes in the API


  • Improved : Core Improvements


  • Fixed : Issue with Google Maps not displaying


  • New : TTMSFNCOpenLayers: WMS support
  • New : TTMSFNCOpenLayers: Marker Clusters
  • New : TTMSFNCGoogleMaps TTMSFNCMapKit: Polygon Holes
  • New : TTMSFNCDirections: Google: Support for Origin Destination and WayPoints string values
  • New : Introducing TTMSFNCHereDirections: Truck Options
  • New : Introducing TTMSFNCHere: Polygon Holes
  • New : Introducing TTMSFNCBingMaps: Polygon Holes


  • Improved : Core Improvements


  • Improved : Core Improvements


  • Fixed : Issue with designtime OverlayViews not picked up
  • Fixed : Issue with OverlayViews consuming events on Android


  • Fixed : Issue with HTTP vs HTTPS for MapQuest


  • Fixed : TTMSFNCGoogleMaps: Issue with OnRetrievedDirectionsData ADirectionsData.Routes[].Path value
  • Fixed : OpenLayers API URLs updated


  • Fixed : Exposed RouteCalculator property on TTMSFNCMapBox and TTMSFNCTomTom inherited classes


  • New : TTMSFNCGoogleMaps: Options.ShowRotateControl property added
  • New : Options.MapStyleURL to add your own predefined custom style in TTMSFNCMapBox
  • New : Options.MapStyle extended with custom option in TTMSFNCMapBox
  • New : MapBox and TomTom added for route calculator support
  • New : Draggable markers and OnMarkerDragEnd event in TTMSFNCMapBox and TTMSFNCTomTom
  • Fixed : TTMSFNCOpenLayers: Issue with popup position after marker changed position


  • Improved : TTMSFNCGeocoding: OpenStreetMap error handling
  • Fixed : Issue with StrToFloat in OpenRouteService and GeoApify


  • New : TTMSFNCGoogleMaps: Options.Version property added to select the Google Maps JS API version


  • New : PolyLine Distance property
  • Fixed : TTMSFNCGeocoding: Issue with TomTom when no Locale specified


  • New : TTMSFNCOpenLayers: OnMapRenderComplete event added
  • New : TTMSFNCGoogleMaps: Options.ShowScaleControl property added
  • New : TTMSFNCGoogleMaps: Options.DisablePOI property added
  • New : TTMSFNCGeocoding: Precision property for Google Geocoding
  • New : IsPointInArea / PolyElement.ContainsPoint: Check if coordinate is inside Poly area
  • Fixed : TTMSFNCDirections: Here issue with distance and duration values
  • Fixed : Issue with popup visible when dragging markers in TTMSFNCOpenLayers


  • New : Draggable Markers and Poly elements in TTMSFNCOpenLayers


  • Fixed : Issue with title popup being shown more than once in OpenLayers


  • New : MeasureArea: Calculate PolyElement area in square metres
  • Fixed : TMSFNCGoogleMaps: OnRetrievedDirectionsData event now includes ADirectionsData.Routes.Legs.OriginCoordinate and DestinationCoordinate
  • Fixed : Issue in OpenLayers marker and poly element click detection


  • New : Include JavaScript and CSS libraries at design-time
  • New : HTML element action binding
  • New : HTML / CSS overlay containers


  • New : Added Intersection address field in TTMSFNCGeocoding for Google
  • Improved : Marker OverlayView is automatically hidden when Marker is inside a Marker Cluster in TTMSFNCGoogleMaps
  • Improved : Core Improvements
  • Fixed : Issue with returning correct postal code in TTMSFNCGeocoding for Google
  • Fixed : Issue updating elements on Android


  • Improved : Core Improvements


  • New : TTMSFNCPlaces component: places autocomplete service wrapper
  • New : TTMSFNCGooglePlaces component: places service wrapper
  • New : TTMSFNCGoogleMaps: Support for polyline symbols
  • New : TTMSFNCGeocoding: GeoApify support added
  • New : TTMSFNCDirections: GeoApify support added
  • Improved : TTMSFNCOpenLayers: Polyline.Label.BackgroundColor/BorderColor rendering


  • Fixed : Issue with displaying custom marker icons for Google Maps


  • New : OnMapRightClick OnMarkerRightClick OnPolyElementRightClick events in TTMSFNCGoogleMaps
  • New : DefaultIconSize IconWidth IconHeight properties in TTMSFNCGoogleMapsMarker
  • Fixed : Issue with offset left and top in TTMSFNCGoogleMaps in combination with OverlayViews


  • New : XYToLatLon LatLonToXY support for Google Maps, Here Maps, MapBox and MapKit
  • New : TTMSFNCRouteCalculator: Support for OpenRouteService
  • New : TTMSFNCOpenLayers: Added Polyline.Label.BackgroundColor/BorderColor/Padding properties
  • New : TTMSFNCGoogleMaps: Options.Tilt support
  • New : TTMSFNCGoogleMaps: Options.Heading (map rotation)
  • New : TTMSFNCGoogleMaps: MapID support
  • New : TTMSFNCGeocoding: Support for OpenRouteService
  • New : TTMSFNCDirections: Support for OpenRouteService
  • Improved : TTMSFNCGeocoding: OpenStreetMap Nominatim address details
  • Fixed : TTMSFNCGoogleMaps: Default Cluster ImagePath updated
  • Fixed : TTMSFNCGeocoding: Possible issue with parsing json data
  • Fixed : Issue with JSON parsing in iOS/macOS (related to GetBounds)


  • New : TTMSFNCMaps: OnMapMoveStart and OnMapMoveEnd events added
  • New : TTMSFNCGeocoding: Support for OpenStreetMap Nominatim geocoding and reverse geocoding


  • Improved : RouteCalculator custom Markers config
  • Improved : Performance adding and clearing large amount of elements


  • Fixed : TTMSFNCGoogleMaps: Issue with clearing OverlayViews


  • New : TTMSFNCGoogleMaps: OverlayView support added
  • New : Delphi 11 and C Builder 11 support
  • Fixed : TTMSFNCRouteCalculator: Issue with Route Instructions after updating segment
  • Fixed : TTMSFNCRouteCalculator: Issue with Route ID
  • Fixed : Issue with OnRouteCalculatorWayPointUpdated event not being triggered correctly for the end segment


  • Fixed : TTMSFNCMapBox: Issue with updating the map
  • Fixed : Issue with invalid pointer when building in release mode and pressing ESCAPE
  • Fixed : Issue with GetBounds not returning correct coordinates in OpenLayers


  • New : TTMSFNCRouteCalculator: view edit calculate import and export routes
  • New : TTMSFNCOpenLayers: Label support in polylines and polygons
  • New : TTMSFNCGoogleMaps: Geodesic property added for Polylines
  • Improved : TTMSFNCMaps.Here: Support for base64 encoded marker icons
  • Improved : TTMSFNCMaps.Here: OnMapMouseMove event handling


  • Fixed : Issue destroying non-visual components


  • New : TTMSFNCGoogleMaps: Geodesic property added for Polylines
  • New : Province property added in TTMSFNCGeocoding
  • New : Optional Locale parameter added in TTMSFNCGeocoding
  • Fixed : Issue destroying map


  • New : TTMSFNCTollCost: Calculate toll route costs
  • New : TTMSFNCTimeZone: Return the timezone for a certain area or location
  • New : TTMSFNCStaticMap: Return a static image of a map area
  • New : TTMSFNCMapsImage: Display an image
  • New : TTMSFNCDirections: Return optimized waypoint index
  • New : OnCreateGeoJSONObject event


  • New : beta support for FMXLinux
  • Fixed : Regression moving webbrowser related methods to protected


  • New : beta support for Visual Studio Code


  • New : MapRotation option in TTMSFNCMapKit
  • New : Introducing TTMSFNCMapKit
  • New : Integrated directions in TTMSFNCGoogleMaps and TTMSFNCMapKit
  • Improved : TTMSFNCGoogleMaps: OnMapTypeChange now returns the selected MapType
  • Improved : TTMSFNCGoogleMaps: MapTypeID updating


  • Improved : Core Improvements


  • New : TTMSFNCGoogleMaps: Options.ShowStreetView property
  • New : TTMSFNCGoogleMaps: OnStreetViewChange event
  • New : TTMSFNCDirections: GetDirections AvoidTolls parameter
  • Improved : Core Improvements


  • Improved : Core Improvements


  • New : TTMSFNCOpenLayers: Support for TileLayers
  • New : Support for Plus Codes encoding/decoding via TTMSFNCMapsPlusCode (available in *TMSFNCMapsCommonTypes unit)
  • New : SaveToGPXFile SaveToGPXStream SaveToGPXText support
  • Improved : Core Improvements


  • Fixed : Core Fixes


  • Fixed : Issue introducing Anchor property did generate the wrong default offset now DefaultAnchor (true by default) can be used to switch to custom anchor position in TTMSFNCGoogleMaps


  • New : TTMSFNCTomTom: Options.MapStyle property
  • New : TTMSFNCOpenLayers: Options.TileServer property
  • New : TTMSFNCMapBox: Options.MapStyle property
  • New : TTMSFNCGoogleMaps: ZIndex property on markers and poly elements
  • New : TTMSFNCGoogleMaps: Options.BackgroundColor
  • New : TTMSFNCElevation: Component for getting elevation data based on coordinates
  • New : Support for Apple MapKit JS
  • New : GetBounds
  • Improved : migration Here Maps Geocoding and Directions v7 to v8
  • Improved : TTMSFNCGoogleMaps: Cluster updating
  • Improved : Event propagation across different services
  • Fixed : Issue with updating high number of markers/polyelements


  • Improved : Core Improvements


  • New : TTMSFNCGoogleMaps: Clusters.Text property
  • New : TTMSFNCGeoCoding: Get(Reverse)Geocoding result Status and ErrorMessage added
  • New : TTMSFNCDirections: TravelMode tmPublicTransport tmTruck added (where available)
  • New : TTMSFNCDirections: GetDirections result Status and ErrorMessage added
  • New : LoadGPXFromFile/LoadGPXFromStream/LoadGPXFromText now also supports elevation and timestamp data
  • New : Events OnCreateGPXTrack OnCreateGPXSegment


  • New : TTMSFNCGoogleMaps: OnClusterClick OnClusterMouseEnter OnClusterMouseLeave events
  • New : TTMSFNCGoogleMaps: Clusters.ImagePath property


  • Improved : Core Improvements


  • Fixed : Issue with Openlayers being slow when having multiple elements such as markers and polygons polylines
  • Fixed : Issue with Bing Maps ZoomOnDblClick also disabling ZoomOnWheelScroll


  • New : Delphi 10.4 Sydney and C Builder 10.4 Sydney support


  • New : TTMSFNCLocation.Connection property
  • New : Options.ZoomOnDblClick property
  • New : GetCenterCoordinate GetZoomLevel
  • Improved : Core Improvements


  • Improved : property LocalFileAccess to provide access to local files such as images for markers
  • Improved : Core improvements


  • Fixed : Issue with persistence in TMS FNC Core


  • Fixed : Missing Edge Chromium DLLs in distribution


  • New : first release


  • Fixed : Issue with detecting TMS FNC Core


  • New : First BETA release


Single Developer License Small Team License Site License


€ 225

100 yearly renewal
license for 1 developer

check  Full source code
check  Access to the TMS Support Center
check  Free updates and new releases

TMS FNC Component Studio

€ 795

335 yearly renewal
license for 1 developer

check  Full source code
check  Access to the TMS Support Center
check  Free updates and new releases
check  TMS FNC Maps
check  All TMS FNC products
more_horiz  Discover more


€ 1,795

575 yearly renewal
license for 1 developer

check  Full source code
check  Access to the TMS Support Center
check  Free updates and new releases
check  TMS FNC Maps
check  All TMS FNC products
check  All TMS products
more_horiz  Discover more
All prices excl. VAT. Renewal price is subject to change and only valid up to 30 days after license has expired. After renewal period a discount price is offered to renew the license.


Get unlimited access to all TMS products
One money and time saving bundle

Free Trial

Start a free TMS FNC Maps evaluation today!

By entering your email address you agree to receive email messages from TMS Software.
RAD Studio

Visual Studio Code

What our customers say

Installed today (fnc core + fnc maps + chromium v84/dev). then created a test app (vcl, dx 10.3) with old tms map and new tms map, side by side. fantastic performance. thank you!

- Oleg Kyrylenko

As a developer for 30+ years, and a Delphi developer since 1996, I've a solid foundation on desktop development. But I was skeptical of indulging in web development. Though the market was demanding a switch, it seemed too difficult to make the transition. TMS Software was my "magic bullet" to get me started with zero intimidation. Love their Web Core and XData products. Now I can develop powerful web applications using Delphi. TMS Software has renewed my love for Delphi and won my heart for their innovators. Thanks to the team for great products and a large volume of demos and manuals. You ROCK!

- Larry

In the past I have purchased other components from other parties. I will say proudly that TMS is the best in support, price and style. Whenever I need a help your team is always there to help me. Keep up the good work

- Mohamed Thooloon

Hi Bruno Just want to drop you a line about how great your presentation was today. We often fail to point out to someone when they do a great job! You did a great job, you gave me a lot of ideas, and you answered my question very well. THANK you for your great products & super support.

- Lawrence Green

Thank you for developing components where I can best describe it like this: TMS components is a case where "The wheels fit the car, and NOT the car fit the wheels". Well done.

- Sathiparsad


Create modern web apps in Delphi & VSC
Use Object Pascal code to build JavaScript apps