Configuration/Full list of options
The image below details the complete xml tag structure for the default navit.xml. The colour scheme of the image is designed to give an impression of what is and what isn't required (both for Navit to run succesfully in the first place, and to have a functional navigation system) - those tags in blue are required, whilst those in green can be regarded as optional.
|Enables manual setting of the locale. For example, language="en_US" will force Navit to consider the host device as being setup for USA English, and the town search will automatically revert to towns in the USA. This is useful if your device is from another country, or you are travelling in another country. The locale code is made up of the language (lowercase) and the country (uppercase) codes. For language codes, see ISO 639-1; for country codes, see ISO 3166-1 Alpha2. Note that you can combine the languages and countries as you wish: language="de_FR" will result in German interface and voice announcements and search defaulting to France.||language="en_US"|
|name||"gui_internal", "navit:do_draw", "global"||Set the debug level for a Navit module. "name" is the module name; optionally, the name of a function in that module can be appended with a colon (:). The modules correspond to the directories of Navit's source code tree (the module name is set in the Makefile.am in each directory, by a statement "-DMODULE=XXX"). Additionally, there are some special module names: Setting a debug level > 0 for "timestamps" will enable printing of timestamps in debug messages. Setting "segv" to 1 will print backtraces on segmentation faults, setting it to >1 will start gdb. Finally, "global" sets the global debug level (applies to all modules; this is the same as using the command line option -d).||name="gui_internal"|
|dbg_level||"error", "warning", "info", "debug"||The debug level to set for the component given by the "name" attribute. The higher the debug level, the more debug output will be printed. The default debug level is "error", which will only print error messages.||dbg_level="info"|
|level (deprecated)||numeric debug level (0-3)||Equivalent to "dbg_level", only using a number instead of the level's name. "dbg_level" should be used instead, to make the configuration easier to read.||level="3"|
|center||coords||DD.dd or DDMM.ss|| Map will be centred at these coordinates on startup. Coordinates are either in decimal degrees (with sign in front to denote N/S or E/W) or decimal minutes with trailing N/S or E/W where appropriate.
Default: 53.13 11.70
|center="4808 N 1134 E"|
|orientation||degrees (or -1)||0-360 / -1|| orientation="0": Map oriented North.
orientation="180": Map oriented South.
orientation="-1": Map oriented in direction of travel.
This is equivalent to selecting Settings -> Rules -> Northing in the internal gui.
|tracking||0 / 1|| tracking="1": Vehicle cursor will lock to the roads on the map.
This is equivalent to selecting Settings -> Rules -> Lock on road in the internal gui.
|waypoints_flag||0 / 1|| waypoints_flag="1": Set destination will used to add next waypoint. Previous destination will not deleted.
This is equivalent to selecting Settings -> Rules -> Plan with waypoints in the internal gui.
|zoom|| 1 - ∞
| zoom="1": Most zoomed in. Upper limit is actually 2097152.
Map will be zoomed in at this level on startup.
|autozoom_active||0 / 1|| autozoom_active="0": Autozoom disabled.
autozoom_active="1": Autozoom enabled.
|autozoom||seconds|| 1 - ∞
| Number of seconds of the way ahead to leave visible during autozoom.
In effect, this specifies the zoom level when autozoom is enabled.
autozoom="1" is closest zoom.
This attribute has no effect without autozoom_active="1".
|imperial||0/1||Use imperial units (miles, feet and miles-per-hour). Only in Navit versions since r4127.||imperial="1"|
|osd_configuration||1 - 32||Sets the initial value of osd_configuration when Navit starts up.||osd_configuration="1"|
|pitch||degrees||0 - 359|| pitch="0": Bird's-eye view of map.
pitch="20": Map tilted by 20 degrees to give 3D view.
pitch="180": x-axis of the map seems inverted, since you are seeing the map "from the bottom up"
Values between 0 and 85 are recommended.
|radius||percent|| -50 - 50
| Percentage of screen size to offset vehicle cursor from centre when moving.
radius="0" places the vehicle cursor in the center of the map.
radius="50" places the vehicle cursor on the edge of the screen, showing only the map in front of you
radius="-50" places the vehicle cursor on the edge of the screen, showing only the map behind you
Higher values cause the map to "lead" the vehicle, showing more of where you're going and less of where you've been. Values less than -50 or more than 50 are possible, but the vehicle cursor will be placed out of the screen area.
|recent_dest|| 1 - ∞
| Number of entries kept in destination.txt. This text file stores the most recent destinations set by the user in Navit.
Defaults to ∞, if tag isn't set.
|timeout||gps updates|| 1 - ∞
|When the user scrolls the map, it stays there. After timeout number of GPS updates the map jumps back to the current location of the active vehicle. Since most GPS-modules have an update rate of 1Hz, "gps updates" is likely to be equivalent to "seconds" (see #653)||timeout="5"|
|follow_cursor||0/1|| 1 = Map will automatically scroll to follow the cursor (active vehicle). 0 = Map will not follow the cursor.
This is equivalent to selecting Settings -> Rules -> Map follows Vehicle in the internal gui.
Note: When setting this to 0, you can still jump to the cursor position by calling the Navit command set_center_cursor(), for example via an OSD button with command="follow=0;set_center_cursor()".
|Type of graphics to use for display.||type="gtk_drawing_area"|
|x||pixels||numeric||Application window x position on the screen.||x="10"|
|y||pixels||numeric||Application window y position on the screen.||y="10"|
|w||pixels||numeric||Application window width.||w="600"|
|h||pixels||numeric||Application window height.||h="400"|
|background_color||color||Background color for screen portions overlapped by the system UI (R6603 and later, currently meaningful on Android only)||color="#00000060"|
|Type of user interface to use||type="internal"|
|enabled||yes / no||Enable this user interface. This attribute enables you to define multiple user interfaces within navit.xml (i.e. multiple <gui> ... </gui> tags), and quickly switch between them by changing the enabled status.||enabled="yes"|
|font_size||Pt fractions||1 - ∞||The base text size to use for text and labels in the menus. This only applies when type="internal"||font_size="350"|
|icon_xs||pixels||1 - ∞||The size that extra-small style icons should be scaled to (e.g. country flag on town search). This only applies when type="internal"||icon_xs="32"|
|icon_s||pixels||1 - ∞||The size that small style icons should be scaled to (e.g. icons of internal GUI toolbar). This only applies when type="internal"||icon_s="96"|
|icon_l||pixels||1 - ∞||The size that large style icons should be scaled to (e.g. icons of internal GUI menu). This only applies when type="internal"||icon_l="96"|
|keyboard||true / false||Whether to display Navit's internal keyboard in search. Set to false if you want to use your device's physical keyboard or the OS on-screen keyboard instead of Navit's on-screen keyboard.||keyboard="false"|
|fullscreen||0 / 1||fullscreen="1": Start Navit in fullscreen mode||fullscreen="1"|
|menubar||0 / 1||Toggle display of the menu bar. This only applies when type="gtk"||menubar="1"|
|menu_on_map_click||0 / 1||Toggles the ability to bring up the menu screen when clicking on the map. When using menu_on_map_click="0" it is recommended to use an OSD button with the command gui.menu(), or else you can't get to the menu screen! This only applies when type="internal"||menu_on_map_click="0"|
|on_map_click||navit command||You may specify a command to execute when entering internal gui by clicking on the map. The example provided allows to enter directly to operations related to the clicked map point. This only applies when type="internal"||on_map_click='menu("#Map Point")'|
|toolbar||0 / 1||Toggle display of the toolbar. This only applies when type="gtk"||toolbar="1"|
|statusbar||0 / 1||Toggle display of the status bar. This only applies when type="gtk"||statusbar="1"|
| Type of log to output.
type="nmea": outputs data as NMEA messages (the data format used by most GPS receivers).
type="gpx": outputs GPX XML files (e.g. for upload to OpenStreetMap).
type="textfile": creates a text file that can be used as a textfile
type="binfile": outputs a binary map file for use within Navit
type="textfile_debug": outputs a debug text file.
|enabled||yes / no||Enable logging. This attribute enables you to define multiple log types within navit.xml (i.e. multiple <log> ... </log> tags), and quickly switch between them by changing the enabled status.||enabled="yes"|
|data||filename|| The name for the logfile. There is support for date and time placeholders:
%Y: Current year
%m: Current month
%d: Current day
%i: Next sequential logfile number (to make the filename unique)
|overwrite||0 / 1|| Toggle to choose whether an existing tracklog of the same name gets:
overwrite="0": Appended to, or
|flush_size||bytes||0 - ∞|| The file is kept in memory and will be committed to disk if the size reaches the flush_size limit.
flush_size="0": Writes the tracklog to disk immediately.
When used in combination with flush_time, whichever limit is reached first triggers a disk write.
|flush_time||seconds||0 - ∞|| The file is kept in memory and will be committed to disk after flush_time seconds.
flush_time="0": Writes the tracklog to disk immediately.
When used in combination with flush_size, whichever limit is reached first triggers a disk write.
| Comma-separated list which determines what information will be stored in the log file (in addition to the position, and only if supported by the GPS receiver). This only applies when type="gpx"
See Configuration for descriptions of each type.
|type||The type of OSD item to display. See OSD for a list of currently supported OSD types.||type="button"|
|enabled||yes / no||Whether the OSD item is enabled, i.e. should be displayed.||enabled="yes"|
|enable_expression||any valid expression|| When the expression evaluates to true (i.e. a nonzero value), this OSD item will be visible, else it will be hidden.
Expressions use the syntax described in OSD#command and can use the attributes in OSD#Attributes (currently not an exhaustive list).
will cause the OSD item to be displayed only while routing.
|osd_configuration||Any integer|| When
|x||Pixels or percent of screen width|| -∞ – ∞
0 – 100%
|Distance between screen margin and left border of the OSD item. Positive sizes are relative to the left side of the screen, negative values are relative to the right side of the screen (in that case, be aware to factor in the width of the OSD item. If you want to place an item, which as an width of e.g. 60px, on the right edge of the screen, the tag would be x="-60"). Numbers followed by a percent sign are interpreted as the respective percentage of available screen width.||x="42"|
|y||Pixels or percent of screen height|| -∞ – ∞
0 – 100%
|Distance between screen margin and top border of the OSD item. Positive sizes are relative to the top of the screen, negative values are relative to the bottom of the screen (in that case, be aware to factor in the height of the OSD item If you want to place an item, which as an height of e.g. 60px, on the bottom edge of the screen, the tag would be y="-60"). Numbers followed by a percent sign are interpreted as the respective percentage of available screen height.||y="42"|
|w||Pixels or percent of screen width|| 0 – ∞
0 – 100%
|Width of the OSD item. Numbers followed by a percent sign are interpreted as the respective percentage of available screen width.||w="42"|
|h||Pixels or percent of screen height|| 0 – ∞
0 – 100%
|Height of the OSD item. Numbers followed by a percent sign are interpreted as the respective percentage of available screen height.||h="42"|
|name||vehiclename||Name of the vehicle being defined. This can be any name you like, but it's usually best to provide descriptive names, perhaps depending on the gps source, or the type of vehicle.||name="Car gpsd"|
|profilename||profilename||The name of the vehicle profile (see below) to use for routing and announcements for this vehicle.||profilename="car"|
|source||Source of GPS data. See Configuration for the available options.||source="gpsd://localhost"|
|active||0 / 1||Makes the vehicle the active vehicle in Navit - i.e. all its options are used for routing, view centering and map redraws. Note that a vehicle must be enabled="yes" before it can be made active="1".||active="1"|
|baudrate||baud rate||0 - ∞||Baudrate of the com port of a WinCE device. Required if source="wince:COMx:" (where x is the COM port of the gps device). The baud rate should be 4800 in most cases.||baudrate="4800"|
|enabled||yes / no|| Enable the vehicle. This attribute enables you to define multiple vehicles within navit.xml (i.e. multiple <vehicle> ... </vehicle> tags), and quickly switch between them by changing the enabled status or by using the menu options within Navit.
If there is no enabled= tag, the vehicle is automatically enabled.
|follow||gps updates||0 - ∞||Specifies how many GPS updates to wait before map is refreshed. Since most GPS-modules have an update rate of 1Hz, "gps updates" is likely to be equivalent to "seconds". A value of zero means vehicle will leave the edge of the map before the map is refreshed.||follow="1"|
|lag||0 - ∞||Vehicle position extrapolation - it specifies how many tenths of a second the gps lags behind and counteracts with an position extrapolation, to set the cursor at the right position. Also, it affects the speech announcement distances . 10-20 are recommended values.||lag="10"|
|gpsd_query||gpsd query|| Command to send to gpsd. Required if source="gpsd://localhost", otherwise this is not used.
The string used in the example is sufficient for use in Navit.
|cdf_histsize||metres||0 - ∞||Cumulative displacement filter. Currently not used by Navit. See  for what it would do.||cdf_histsize="4"|
|route_pref||0 - ∞||Benefit bonus for the calculated route. Increasing this value help to stay on track while receiving a inaccurate gps position. Default is 300. Use 1000 to 3000 if the device skip from track||route_pref="1000"|
|name||profilename||The name of the vehicle profile. This name is used by the profilename attribute inside the vehicle tag.||name="car"|
|flags||hex value||The flags (as defined in AF_* in attr.h) which needs to be set to be able to pass this road. See Vehicle profile flags for a comprehensive list of bit values.||flags="0x4000000"|
|flags_forward_mask||hex value||The bits the flags_forward_mask has set in addition to flags, a way must not have set in order to be used in forward direction. More technically: the flags of a way are ANDed with this mask, if the route uses the way in forward direction. The result must match flags otherwise the way must not be used. E.g. flags_forward_mask="0x4000000" and flags_forward_mask="0x4000002" means a road may be used in forward direction if it is a ONEWAYREV (See VehicleprofileFlags).||flags_forward_mask="0x40000000"|
|flags_reverse_mask||hex value||Identical to flags_forward_mask for ways in the reverse direction.||flags_reverse_mask="0x40000000"|
|maxspeed_handling||0 - 2|| maxspeed_handling="0": Always handle the maxspeed attribute of a street.
maxspeed_handling="1": Only handle the maxspeed attribute of a street if it restricts the speed.
maxspeed_handling="2": Never. Reason behind this is that a pedestrian doesn't want to travel with 30 km/h when there is a speed limit.
|route_depth|| Sets which roads to consider for routing. The string consists of order:rectsize tuples, separated by commas. Order of the tuples is insignificant, and the number of tuples is not limited.
The default (for car) is to consider all roads (i.e. up to order 18) within 10 km (10,000 m), roads up to level 8 within 40 km and roads up to level 4 on the whole route, as well as 25% around it. See Routing for more details.
|route_mode||0 - 2|| route_mode="0": Automatically select between an on-road route and an off-road route (if the off-0road route is shorter than the distance to the next street from the current position plus the distance to the next street from the destination).
route_mode="1": Always use an on-road route.
route_mode="2":: Always us an off-road route
|static_speed||km/h||0 - ∞||If the speed between positions from two gps updates is larger than static_speed Navit will accept the new position. This tag (and the static_distance tag) can be helpful to avoid unnecessary map updates, caused by the inaccuracies of GPS.||static_speed="5"|
|static_distance||metres||0 - ∞||If the distance between positions from two gps updates is larger than static_distance Navit will accept the new position. This tag (and the static_speed tag) can be helpful to avoid unnecessary map updates, caused by the inaccuracies of GPS.||static_distance="25"|
|item_types||Types of ways for which this roadprofile is valid. Way types can be found in map_items.||item_types="steps"|
|route_weight||km/h||0 - ∞||The weighting which the routing algorithm should give this road type. A large route_weight will force the routing algorithm to choose that road type over others when calculating a route. This value is also used to calculate the route time remaining IF maxspeed_handling="2".||route_weight="150"|
|speed||km/h||0 - ∞||Used solely for calculating the estimated time of arrival.||speed="50"|
|maxspeed||km/h||0 - ∞||When driving, Navit will use the maxspeed of the road type to inform the driver of the current speed limit using the speed_warner. maxspeed will only be used if there is no OSM speed data for that road. This data is not used for routing calculations.||maxspeed="50"|
|level||0, 1, 2||Type of oral announcement to make. For example, level="2" means an announcement such as "turn left soon" will be made; level="1" is "turn left in x metres"; level="0" is "turn left now".||level="0"|
|distance_metric||metres||0 - ∞||Distance from the upcoming manoeuvre to perform the announcement.||distance_metric="25"|
|type||Types of ways for which this announcement is valid||type="street_0,street_1_city"|
|level0||metres||0 - ∞||The distance at which the final announcement is made (i.e. 'Turn left now').||level0="300"|
|level1||metres||0 - ∞||The distance at which the intermediate announcement is made (i.e. 'Turn left in 1km ').||level1="1000"|
|level2||metres||0 - ∞||The distance at which the first announcement is made (i.e. 'Turn left soon').||level2="2000"|
|unit||m||Units to use for the distances in the above levels.||unit="m"|
||Whether speech should be enabled on startup. (Speech can always be enabled or disabled via OSD or a menu item.)||active="0"|
|type||android cmdline dbus espeak iphone speech_dispatcher||Types of speech output to use||type="cmdline"|
|data||Command for speech output. Navit speech_cmdline interfce has sufficient changes applied with svn #4459. For examples and discussion see Configuration.||data="flite -t %s"|
|cps||0 - ∞||Speed at which Navit should speak in characters-per-second.||cps="15"|
|language||The language which built-in espeak on WinCE devices should use.||language="de"|
|path||The path to voices data directory to be used by built-in espeak.||path="/home/user/espeak-data"|
|vocabulary_name||0 if street names should not be announced, 1 is default (announce).||vocabulary_name="0"|
|vocabulary_name_systematic||0 if systematic street names should not be announced, 1 is default (announce).||vocabulary_name_systematic="0"|
|vocabulary_distances||0 if speech driver can pronounce only 1,2,3,4,5,10,25,50,75,100,150,200,250,300,400,500,750 as numbers, 1 is default (speech is able to pronounce any number).||vocabulary_distances="0"|
|sample_dir||For speech_cmdline, defines path where pre-recorded samples are stored. If you use this, it's expected that data attribute points to some program able to play sound file passed as its argument. See Configuration.||sample_dir="/path/to/waves"|
|sample_suffix||For speech_cmdline, if sample_dir is defined, defines extension to append to sentence part to get pre-recorded sample file name.||sample_suffix=".wav"|
|enabled||yes/no||Enable this set of maps. Multiple mapsets can be defined in navit.xml, but only one mapset can be enabled at-a-time. Each mapset, however, can include multiple maps.||enabled="yes"|
|Type of map. mg = Marco_Polo_Grosser_Reiseplaner; binfile = OpenStreetMap; textfile = Navit textfile; csv = csv.||type="binfile"|
|enabled||yes/no||Enable/disable this map. A mapset can include multiple maps.||enabled="yes"|
|data||filename||Path to the map file.||data="/media/MapsNavit/osm.bin"|
|enabled||yes/no||Enable all maps of a certain folder like *.bin||enabled="yes"|
|name||layoutname||Name of the particular layout||name="Car"|
|daylayout||layoutname||Defines which layout to use at daytime, if this layout is the default layout during the night.||daylayout="Car"|
|nightlayout||layoutname||Defines which layout to use at night, if this layout is the default layout during the day.||nightlayout="Car-dark"|
|color||(hex triplet)||color||Default background color of the map.||color="#ffefb7"|
|font||font-face||Default font-face to use for road and POI names.||font="Liberation Sans"|
|active||0/1||Set the layout as the default using active="1". Added in r4342.||active="1"|
|order_delta||0-∞||Increases the zoom level at which items are rendered. FIXME.||order_delta="1"|
|w||pixels||Width of cursor.||w="26"|
|h||pixels||Height of cursor||h="26"|
|speed_range||km/h||0 - ∞|| Range of speeds within which to show the specific geometry of the subsequently defined cursor.
speed_range="-2": subsequent geometry will be displayed at speeds <= 2km/h.