MapPro80.OCX - A
not simply an upgrade of the older MapPro Mapping Control.
Most of its modules were re-designed from scratch to take
advantage of newer operating systems, computers systems with
significantly increased resources, newer more versatile
development environments, etc. This
document is a brief summary of some of the new
resolution (accuracy) to the full 6 decimals available
in the raw TANA data. This increases the data size
for deployment purposes, but it provides a coherent,
stable road network system that does not have some of
the limitations older systems had, because of reduced
A new internal
data structure was implemented to allow the developer to
deploy datasets for a single or multiple countries, with
each client license. This expanded capability is in
preparation for UnderTow’s efforts to secure datasets
for multiple countries in Europe, South America, Asia,
etc., as the Dynamap®
North America dataset from Tele Atlas is being replaced
by a different product. Although this Beta SDK package
is shipped with Dynamap®
test data for the USA and Canada,, it employs the new
data structure that will be used with new data sources,
as they become available.
overhauled Route calculation module.
Much faster calculations
and better route selection, based on a more precise
road network. Routing options now include avoidance
of Toll Roads, Tunnels, Ferries, etc.
In addition to the
enhancements in the routing calculations, the
control now incorporates a full trip planner module,
which allows the user to select multiple stop and
via points, layover durations, at each via or stop
point, trip start time and date, daily start and
stop driving times and scheduled breaks, road
preferences, speed limits, breakfast, lunch and
dinner costs, gas costs, overnight costs, and other
trip customizing parameters.
All these routing
features are available to the user from the built-in
user interface and are also accessible
programmatically. The developer can access
individual or consolidated road segments for the
calculated route, driving times, average speed,
longitude and latitude coordinates of the starting
point of each segment, as well as all calculated
trip summary results.
Currently in development
is a modular routing system that will allow the
caching of network component connectivity. Without
this, the network used for a specific route must be
reloaded for each leg even when redundancy/overlap
of the route occurs. The end result will be a
substantially faster routing system.
multiple Image (BMP, GIF, JPG, PNG) or Vector ( MID/MIF,
SHP, TXF) Overlays with user specified transparency and
alpha-blending support (on a layer-by-layer basis), and
attribute management (pen, brush styles).
thresholds to allow imported data to phase in/out as
Ability to use same CFCC-based,
or other field-based paradigm for rendering imported
user-created road segments, (created using the
built-in editing capabilities of the OCX to create
roads, classify them, name them, etc.) and the
ability to query their attributes.
ActiveX control, distributed as part of the SDK,
provides a GPS interface, fully controllable by the
developer. It provides an interface to the general
Virtual COM Port connections, used by most USB GPS
receivers, and the proprietary USP protocol used by many
Garmin devices. Once the port connection properties
have been set, all the user has to do is open the GPS
panel and start tracking their position on a moving map.
The control has
been re-designed to be thread-safe, cache all data
needed for rendering and isolate the parameters used for
the actual rendering which accommodate multiple
instances of the OCX, all sharing the same data cache.
New Printing paradigm.
A new multi User
layer was implemented for managing user bitmap items,
with its own visibility threshold and other attributes
(the old SetItem paradigm is still supported and is
transparently handled through this new user layer).
Added 32-bit support for user object bitmaps which
permits alpha blending, (16-bit and lower user object
bitmap are automatically converted to 24-bits, when
added to the user layer). User items can be searched
for, highlighted, selected, and used to access other,
external attributes, if desired. Support for user
object transparency and shadows.
Implemented a new
class-based processing system for rendering objects
which results in a more efficient usage of resources,
eliminating resource problems when using the control
with large canvas devices (e.g., running out of
resources for rendering double-line roads, when
rendering very large map images).
text and road rendering and a totally new street
labeling intersection-detection method was implemented,
that results in significantly cleaner map renderings.
based points landmarks database is now distributed with
the SDK, exactly matching the 6-digit precision of the
underlying vector dataset for better placement of the
landmarks, relative to the vector map data.
classification data is now part of the database, and is
used for rendering and routing restriction calculations
(like tunnel, bridge, toll road designations, etc.)
Support for BMP, GIF,
JPG and PNG Underlays (PNGs are loaded like a JPG
and GIF files, i.e., all loaded in memory with the
inherent limitations such an approach has, as to the
size of the underlay that can be accommodated).
Ability to use
proprietary format CRA files, which are archives
with multiple compressed bitmap files managed by the
OCX. A processing tool is also provided to the user
to allow them to create such CRA files. In addition
to gridding the file for optimum resource usage, the
tool creates and embeds sub-sampled forms of the
base image to speed up and improve the quality of
event handler managed by the developer. One application
of this feature is the ability to associate pictures
(BMP,JPG,GIF, PNG) with a certain hot spot location on
the map and create a thumbnail of the associated image
for identifying the position on the map. Another use is
implementing new underlays, loading of trip files, icon
The POI interface
was expanded to allow searching by partial name,
categories and sub-categories. In addition to that a
new, cleaner set of built-in bitmaps is now used for all
categories (the developer can also select their own
bitmap markers for one or more categories)
Data loading and
rendering speed was significantly increased. A new data
compression was implemented, with random access. File
streams are now used for all data loading. This also
uses data caching, shared across multi instance OCX's in
the same process.
A new major
Highway and State layer for Mexico was built into the
coarse OCX data layer, based on department of
First/Previous/Next/Last Views are now managed
programmatically and through the stock toolbar
interface. The views are cached for ultrafast View
A new set of
Save/Load Config functions that allow the developer to
save the configuration to an OLE Variant Array or String
and don't require output to a file, lend themselves to
web server development, as they can be used to provide a
"state", for a current user, thus allowing the
management of individual user profiles.
User views can
now be saved, managed and restored as needed by the
paradigm has shifted away from the Event-Driven approach
which was difficult to use in non-visual applications.
Below is a small sample of the new, List-Object based
paradigm. Each set is made up of four functions. For
example, the FindCity function is made up of
FindCityFirst, FindCityNext, FindCityClose and
Restrictions interface allows the user to exclude or
bias multiple areas from consideration by the Router,
thus being able to eliminate them from a calculated
route. Ideal, for example, for excluding travel through
city traffic. Restrictions can be weighed with factors
1, for finer control of the route, based on local
A new Printer
interface now allows the developer to control all
aspects of printing, programmatically.
Much faster searching
operations, using suffix array searching for names.
Unified search results
by the various search functions, simplifies parsing
of returned data.
New, Extended searches
for User-Defined Objects, Routing ViaPoints, Point
of Interest, Landmarks, etc.
to additional.NET Considerations, like multiple event
sink connections, etc.
MapProperties interface allowing consolidated control of
the map attributes, like Street visibility and labeling
thresholds, font styles, country and state polygon and
boundary colors, minimum and maximum allowable scale