APIs of NAC Real-Time Geo-Services Suite
for Web Applications

Real-Time Geocoding, Real-Time Reverse Geocoding, Real-Time Mapping,
Real-Time Driving Directions, Real-Time Location Based Searching
and Real-Time Traffic Information Services
(Version 4.5 Beta)

NAC Read-Time Geo-Services Suite provides real-time geocoding, reverse geocoding, mapping, driving directions, location based business searching and traffic information services. Here are the APIs for these services:
  1. API for Real-Time Geocoding Service
  2. API for Real-Time Reverse Geocoding Service
  3. API for Map and Mapping Service
  4. API for Driving Directions Service
  5. API for Location Based Searches
  6. API for Traffic Information

API for NAC Real-Time Geocoding Service

The real-time geocoding service is a web based geocoding service providing real-time geocoding of addresses from 26 countries and areas:

In MapPoint.AP (5 countries and areas):
Australia, Hong Kong (59%), New Zealand, Singapore, and Taiwan (15%).

In MapPoint.BR (1 country):
Brazil (19%)

In MapPoint.EU (17 countries):
Austria, Belgium, Czech Republic (24%), Denmark, Finland (Helsinki only), France, Germany, Greece (Athens only), Italy (91%), Luxembourg, The Netherlands, Norway (Oslo only), Portugal (53%), Spain (71%), Sweden, Switzerland and United Kingdom.

In MapPoint.NA (3 countries):
Canada, Puerto Rico and United States

It is designed for Internet and web applications. This service uses a simple http request and XML response model and controlled by user id and exclusive user IP addresses.

Request

The request is a simple http get request such as:

Geocoding a formatted address:
http://mlbs.net/nacgeoservicesv4.5/xmlgeocode.aspx?UserID=The_ID&address=the_formatted_address&SuppressError=Yes_or_No
Geocoding a street address or a street intersection given in components:
http://mlbs.net/nacgeoservicesv4.5/xmlgeocode.aspx?UserID=the_ID&street=the_street_num_and_name_or_street1_$_street2&city=the_city&state=the_state_or_province&zip=the_ZIP_or_postal_code&country=the_country&SuppressError=Yes_or_No
Geocoding a point of interest:
http://mlbs.net/nacgeoservicesv4.5/xmlgeocode.aspx?UserID=the_ID&poi=the_point_of_interest&city=the_city&state=the_state_or_province&country=the_country&SuppressError=Yes_or_No
Geocoding a city:
http://mlbs.net/nacgeoservicesv4.5/xmlgeocode.aspx?UserID=the_ID&city=the_city&state=the_state_or_province&country=the_country&SuppressError=Yes_or_No
Geocoding a state or province:
http://mlbs.net/nacgeoservicesv4.5/xmlgeocode.aspx?UserID=the_ID&state=the_state_or_province&country=the_country&SuppressError=Yes_or_No
Geocoding a country:
http://mlbs.net/nacgeoservicesv4.5/xmlgeocode.aspx?UserID=the_ID&country=the_country&SuppressError=Yes_or_No
Geocoding a ZIP or postal code:
http://mlbs.net/nacgeoservicesv4.5/xmlgeocode.aspx?UserID=the_ID&zip=the_ZIP_or_postal_code&country=the_country&SuppressError=Yes_or_No
Where: Here is an example of such a request:
http://mlbs.net/nacgeoservicesv4.5/xmlgeocode.aspx?UserID=1365763452&Address=3347%20Oak%20Street,Victoria,BC%20V8X%201R2,Canada&SuppressError=yes

Response

The response will be a simple XML file. The following is the response from the above example request:
<?xml version="1.0" encoding="utf-8" ?> 
<GeocodeResult>
  <InputAddress>3347 OAK STREET,VICTORIA,BC V8X 1R2,CANADA</InputAddress> 
  <Latitude>48.4520881417902</Latitude> 
  <Longitude>-123.372436562755</Longitude> 
  <NAC>4PK20 R27SC</NAC> 
  <Entity>3347 Oak St, Saanich, BC V8X</Entity> 
  <Street>3347 Oak St</Street> 
  <City>Saanich</City> 
  <State>BC</State> 
  <ZIP>V8X</ZIP> 
  <Country>Canada</Country> 
  <AllMatches>3347 Oak St, Saanich, BC V8X:48.4520881417902,-123.372436562755;</AllMatches> 
  <Message>Unique match</Message> 
</GeocodeResult>
In the above response,


API for Reverse Geocoding Service

The reverse geocoding is to provide the nearby addresses of a given pair of longitude/latitude coordinates in 24 countries (as shown on the geocoding section) and geographic entities of the entire world.

Request

The request is a simple http request:
http://mlbs.net/nacgeoservicesv4.5/xmllocationinfo.aspx?UserID=the_ID&Longitude=your_longitude&Latitude=your_latitude&Language=your_prefered_language
Where Here is an example of such a request:
http://mlbs.net/nacgeoservicesv4.5/xmllocationinfo.aspx?UserID=1365763452&Longitude=-79.41071&Latitude=43.69426

Response

The response will be a simple xml file. The following is the response from the above sample request:
<?xml version="1.0" encoding="utf-8" ?> 
<LocationInfoResult>
  <Input>43.69426,-79.41071</Input> 
  <AllAddresses>90 Kilbarry Pl, Toronto, ON M5P, Canada: 43.694362781067, -79.4102791398045; 425 Russell Hill Rd, Toronto, ON M5P, Canada: 43.6941066489731, -79.4114061210175; 114 Kilbarry Rd, Toronto, ON M5P, Canada: 43.6936695168662, -79.4104977058579; 298 Warren Rd, Toronto, ON M4V, Canada: 43.6937787998929, -79.4096917435358;</AllAddresses> 
  <AllEntities>Toronto (census tract), Ontario, Canada: 43.7181523299461, -79.3771732128974; M5P (postal code), Canada: 43.6963332906425, -79.4101698567777; Toronto Metropolitan Municipality (census division), Ontario, Canada: 43.8196182051612, -79.3068154342571; Golden Horseshoe (region), Ontario, Canada: 43.5428896758436, -79.4235706879293; Great Lakes (region): 45.1869503600115, -84.0725799276335; Eastern (GMT - 5): 53.9296198183845, -75.1319647569244; Toronto, Ontario, Canada: 43.6485936834387, -79.3853352889556; Ontario (province), Canada: 50.251699554116, -85.7943066928537; Canada, North America: 62.8330343637792, -95.9140174199821; North America (continent): 46.9794720359788, -119.032261156562; World: 24.9853374179052, -40.0293242535731;</AllEntities> 
  <Message /> 
</LocationInfoResult>
In the above response, Input shows the latitude and longitude values from the request. AllAddresses contains all the nearby addresses. The element of an address is separated by a comma and the latitude/longitude coordinates are separated from the elements by a colon while each entire address entry is separated by a semicolon. AllEntities lists all the geographic entities that cover the location, presented in a format similar to the content in AllAddresses. Message is usually empty, but may be "Wrong input" if the input is not within its legal range (latitude from -90 to 90 and longitude from -180 to 180) or "No UserID" if the UserID is not included in the request or other error messages.


API for Map and Mapping Service

All maps retrieved from NAC Real-Time Geo-Services should not be stored in any media, and can be displayed only once in real time. Since the retrieved maps will be shown to end users, any page showing the map must include the following items:
  1. A hyperlink of "A service provided by NAC Geographic Products Inc." to "http://www.nacgeo.com".
  2. A text of "Featuring Microsoft MapPoint Technology"
  3. A hyperlink of "Terms of Use" to "http://www.microsoft.com/mappoint/net/terms"
  4. A Hyperlink of "Privacy Statement" to "http://www.microsoft.com/mappoint/net/privacy"
The map and mapping services can also be obtained through the http get request/XML response model and each request costs the same as geocoding an address.

The mapping services provide a variety of maps and allow you to map up to 100 objects onto each map with a choice of street maps of 65 countries and areas of either complete or partial coverage:

In MapPoint.AP (5 countries and areas):
Australia, Hong Kong (59%), New Zealand, Singapore, and Taiwan (15%).

In MapPoint.BR (1 country):
Brazil (19%)

In MapPoint.EU (23 countries):
Austria, Belgium, Czech Republic (24%), Denmark, Finland (Helsinki only), France, Germany, Greece (Athens only), Ireland (50%), Italy (91%), Liechtenstein, Luxembourg, Monaco, The Netherlands, Norway (Oslo only), Portugal (53%), San Marino, Slovakia (14%), Spain (71%), Sweden, Switzerland, United Kingdom, and Vatican City.

In MapPoint.NA (4 countries):
Canada, Mexico (10%), Puerto Rico, and United States.

In MapPoint.World (33 countries): Central and Eastern Europe (24 countries): Albania (9%), Armenia (30%), Azerbaijan (14%), Belarus (20%), Bosnia and Herzegovina (26%), Bulgaria (14%), Croatia (6%), Czech Republic (24%), Estonia (29%), Georgia (23%), Greece (Athens only), Hungary (17%), Latvia (31%), Lithuania (26%), the former Yugoslav republic of Macedonia (28%), Moldova (21%), Poland (22%), Romania (9%), Russia (19%), Serbia and Montenegro (20%), Slovakia (14%), Slovenia (15%), Turkey (37%), and Ukraine (8%). North and South America (4 countries): Argentina, Brazil, Chile and Mexico North Africa (5 countries): Algeria, Egypt, Libyan Arab Jamahiriya (Libya), Morocco and Tunisia. And extra 34 cities of other countries: Bangkok, Thailand; Beijing, China; Bogota, Colombia; Budapest, Hungary; Buenos Aires, Argentina; Cairo, Egypt; Calcutta, India; Charlotte Amalie, U.S. Virgin Islands; Delhi, India; Ho Chi Minh City, Vietnam; Istanbul, Turkey; Jakarta, Indonesia; Jerusalem, Israel; Johannesburg, South Africa; Kingston, Jamaica; Kinshasha, Congo; Kuala Lumpur, Malaysia; Kyoto, Japan; Lagos, Nigeria; Lima, Peru; Manila, Philippines; Moscow, Russia; Nairobi, Kenya; Nassau, Bahamas; Osaka, Japan; San Jose, Costa Rica; Santiago, Chile; Santo Domingo, Dominican Republic; Seoul, South Korea; Shanghai China; Tehran, Iran; Tel Aviv, Israel; Tokyo, Japan; and Warsaw, Poland.

and general thematic maps of the entire world.

Now there are two methods supported in getting a map:
  1. Get Map Defined by Its Center, Northing and Easting Spans
  2. Get Map Defined by its Bounding Ranctangle (Southwest lon/lat and Northeast lon/lat)

Get Map by Its Center, Northing and Easting Spans

Here is an example of the request for retrieving a map based on the center lon/lat and northing/easting spans:
http://mlbs.net/nacgeoservicesv4.5/xmlgetmap.aspx?UserID=1365763452&Longitude=-79&Latitude=43&Northing=20&Easting=20&ImageWidth=480&ImageHeight=480&ImageFormat=gif&IsOverview=no&Icon=32&DataSource=MapPoint.NA&MapStyle=terrain&Language=en&Objects=43.01,-79.01,33,Car1;43.02,-79.03,34,Car2;42.99,-78.99,31,Car3
In this request, you can specify parameters as you want.
Map Style Description MapPoint.AP
MapPoint.BR
MapPoint.EU
MapPoint.NA
MapPoint.World MapPoint.WorldRoutable MapPoint.Moon
Climate Characteristic climate for areas on the Earth, defined by long-term weather patterns. Color.
 
x
 
 
Comprehensive For the MapPoint.World data source, contains several categories of information for purposes of general reference, including topographic, political, and geographic information. Color.

For the MapPoint.Moon data source, contains views of the moon as a composite of satellite images, including identification of craters, landing sites, and lunar seas. Color.

 
default
 
default
DefaultStyle Default map style for a data source.
x
x
x
x
EarthByDay Idealized map of the Earth as it looks from space in daylight without clouds, as a composite of satellite images. Color.
 
x
 
 
EarthByNight Idealized map of the Earth as it looks from space at night without clouds, as a composite of satellite images. Color.
 
x
 
 
Ecoregions Landscapes, such as forests, woodlands, grasslands, deserts, and ice. Color.
 
x
 
 
Europe For the MapPoint.EU data source, provides maps in a color scheme common in European maps.
MapPoint.EU only
 
 
 
Languages Language spoken by a majority of people in an area. Color.
 
x
 
 
Locator Roads and some political geographies, optimized for overview maps. Color.
x
 
 
 
LocatorBW Roads and some political geographies, optimized for overview maps. High contrast for black and white printing.
x
 
 
 
Night Roads and some political geographies, optimized for low-light viewing.
x
 
 
 
Outline Current borders of the world's sovereign nations and their dependencies, and at higher resolutions, borders between states, provinces, or other internal subdivisions. Also indicated are names and locations of selected cities and towns; rivers, lakes, and seas; and mountains, plateaus, deserts, and other physical features. Color.
 
x
 
 
Parks Significant protected areas, such as World Heritage Sites; national, provincial, and state parks; other major reserves; and territories reserved for indigenous peoples in the Americas. Color.
 
x
 
 
Phone Shows roads and political geographies, optimized for small screens (size ranges from 101 × 80 pixels to 176 × 220 pixels). Color.
x
 
 
 
PhoneBW Shows roads and political geographies, optimized for small screens (size ranges from 101 × 80 pixels to 176 × 220 pixels). High contrast for black and white printing.
x
 
 
 
PhysicalFeatures Landforms and water bodies. Color.
 
x
 
 
Political Political geography; political entities are shown in contrasting colors for emphasis. Color.
x
x
 
 
PoliticalBW Political geography; political entities are shown in outline. High contrast for black and white printing.
x
 
 
 
PopulationDensity Number of people per square kilometer throughout the world. Color.
 
x
 
 
PrecipitationAnnual Average accumulation of rain or snow over an entire year. Color.
 
x
 
 
PrecipitationJanuary Average accumulation of rain or snow during the month of January. Color.
 
x
 
 
PrecipitationJuly Average accumulation of rain or snow during the month of July. Color.
 
x
 
 
Religions Distribution of the adherents of the world's major regions. Color.
 
x
 
 
Road Roads, highways, towns, and cities. Color.
x
 
 
 
RoadBW Roads, highways, towns, and cities. High contrast for black and white printing.
x
 
 
 
Small Roads and political geographies, optimized for low resolution maps. Color.
default
 
 
 
SmallBW Roads and political geographies, optimized for low resolution maps. High contrast for black and white printing.
x
 
 
 
Tectonic Distribution of plates that make up the Earth's crust, location of volcanoes and earthquakes, and age of the floor beneath the seas. Color.
 
x
 
 
TemperatureJanuary Average air temperature during the month of January. Color.
 
x
 
 
TemperatureJuly Average air temperature during the month of July. Color.
 
x
 
 
Terrain Roads, highways, towns, cities, and geographic terrain. Color.
x
 
 
 
TerrainBW Roads, highways, towns, cities, and geographic terrain. High contrast for black and white printing.
x
 
 
 
TimeZones Zones of uniform time recognized by national agreement. Color.
 
x
 
 

The response is an XML file like:
<?xml version="1.0" encoding="utf-8" ?> 
<MappingResult>
 <Input>
  <Center>
   <Latitude>43</Latitude> 
   <Longitude>-79</Longitude> 
  </Center>
  <Northing>20</Northing> 
  <Easting>20</Easting> 
  <ImageWidth>480</ImageWidth> 
  <ImageHeight>480</ImageHeight> 
  <ImageFormat>gif</ImageFormat> 
  <MapStyle>TERRAIN</MapStyle> 
  <Language>en</Language> 
  <IsOverview>NO</IsOverview> 
  <DataSource /> 
  <Objects>43.01,-79.01,33,Car1;43.02,-79.03,34,Car2;42.99,-78.99,31,Car3</Objects> 
  <Icon>32</Icon> 
 </Input>
 <Output>
  <Center>
   <Latitude>43</Latitude> 
   <Longitude>-79</Longitude> 
  </Center>
  <Northing>20</Northing> 
  <Easting>20</Easting> 
  <Hotspots>232,248,232,248; 205,221,212,228; 179,195,173,189;252,268,257,273;</Hotspots> 
  <MapImageURL>http://baymwsrender12.bay.prod.mappoint.net/render-30/getmap.aspx?key=16E2972323C5FE42662D</MapImageURL> 
 </Output>
 <Message /> 
</MappingResult>
That can be easily parse the XML file to get the final map center, range and map image URL. Note, the actual center, northing and easting of the returned map may not be exactly the same as the input due to the inconsistency of the input parameters caused by the distortion of map projection. If you have objects mapped, the pixel coordinates of the rectangle of each icon will be returned as Hotspots - a sequence of Top1, Bottom1, Left1, Right1; Top2, Bottom2, Left2, Right2;... in which the order of the sequence is: the map center (if mapped), object1, object2, ... same as in the input. Message is the error message (such as "No UserID" if the request does not include the UserID, "Incomplete Object" if parameters of one of the objects to map are not right, etc) and usually is empty.

With the map image URL, your application can retrieve the map image or simply put the URL of the image on your web page.


Get Map by Its Bounding Rectangle

Here is an example of the request for retrieving a map based on the bounding rectangle (southwest lon/lat and northeast lon/lat):
http://mlbs.net/nacgeoservicesv4.5/xmlgetmapbybr.aspx?UserID=1365763452&NortheastLongitude=-78.96&NortheastLatitude=43.04&SouthwestLongitude=-79.05&SouthwestLatitude=42.95&ImageWidth=400&ImageHeight=400&ImageFormat=png&IsOverview=no&DataSource=MapPoint.NA&MapStyle=terrain&Icon=33&Language=en&Objects=43.01,-79.01,33,Car1;43.02,-79.03,34,Car2;42.99,-78.99,31,Car3
In these requests, you can specify parameters as you want.
The response of such a request is an XML file:
<?xml version="1.0" encoding="utf-8" ?> 
<MappingByBRResult>
 <Input>
  <SouthWest>
   <Latitude>42.95</Latitude> 
   <Longitude>-79.05</Longitude> 
  </SouthWest>
  <NorthEast>
   <Latitude>43.04</Latitude> 
   <Longitude>-78.96</Longitude> 
  </NorthEast>
  <ImageWidth>400</ImageWidth> 
  <ImageHeight>400</ImageHeight> 
  <ImageFormat>png</ImageFormat> 
  <MapStyle>TERRAIN</MapStyle> 
  <Language>en</Language> 
  <IsOverview>NO</IsOverview> 
  <DataSource>MapPoint.NA</DataSource> 
  <Objects>43.01,-79.01,33,Car1;43.02,-79.03,34,Car2;42.99,-78.99,31,Car3</Objects> 
  <Icon>33</Icon> 
  </Input>
  <Output>
  <SouthWest>
   <Latitude>42.95</Latitude> 
   <Longitude>-79.0664857506785</Longitude> 
  </SouthWest>
  <NorthEast>
   <Latitude>43.0400088076442</Latitude> 
   <Longitude>-78.9435142493215</Longitude> 
  </NorthEast>
  <Hotspots>192,208,192,208; 125,141,176,192; 81,97,111,127; 207,223,246,262;</Hotspots> 
  <MapImageURL>http://baymwsrender14.bay.prod.mappoint.net/render-30/getmap.aspx?key=C58C1B4F4DD2009CEB2C</MapImageURL> 
  </Output>
  <Message /> 
  </MappingByBRResult>
That can be easily parse the XML file to get the final map bounding rectangle and the URL of the map image. Note, the actual bounding rectangle of the returned map may not be exactly the same as the input due to the inconsistency of the input parameters caused by the distortion of map projection. If you have objects mapped, the pixel coordinates of the rectangle of each icon will be returned in Hotspots in a sequence of Top1, Bottom1, Left1, Right1; Top2, Bottom2, Left2, Right2;... in which the order of the sequence is the map center (if mapped), object1, object2, ... same as in the input. Message is the error message (such as "No UserID" if the request does not include the UserID, "Incomplete Object" if parameters of one of the objects to map are not right, etc) and usually is empty.

With the map image URL, your application can retrieve the map image or simply put the URL of the image on your web page.


API for Driving Directions Service

All maps retrieved from NAC Real-Time Geo-Services should not be stored in any media, and can be displayed only once in real time. Since the retrieved maps will be shown to end users, any page showing the map must include the following items:
  1. A hyperlink of "A service provided by NAC Geographic Products Inc." to "http://www.nacgeo.com".
  2. A text of "Featuring Microsoft MapPoint Technology"
  3. A hyperlink of "Terms of Use" to "http://www.microsoft.com/mappoint/net/terms"
  4. A Hyperlink of "Privacy Statement" to "http://www.microsoft.com/mappoint/net/privacy"
This service is based on http get request/XML response model to provide driving directions and route maps for 34 countries and areas:

Asian Pacific Region: Australia, Hong Kong (59%), Malaysia (highway only), New Zealand, Singapore, and Taiwan (15%).

Western Europe: Andorra, Austria, Belgium, Czech Republic, Denmark, Finland (Helsinki only), France, Germany, Ireland (50%), Italy, Liechtenstein, Luxembourg, Monaco, The Netherlands, Norway (Oslo only), Portugal, San Marino, Slovakia, Spain, Sweden, Switzerland, Greece (Athens only), United Kingdom and Vatican City.

North America: Canada, Mexico (Major roads for Mexico; street-level detail for Mexico City), Puerto Rico and United States.

Central and Eastern Europe: Albania, Armenia, Azerbaijan, Belarus, Bosnia and Herzegovina, Bulgaria, Croatia, Czech Republic, Estonia, Georgia, Greece, Hungary, Latvia, Lithuania, the former Yugoslav republic of Macedonia, Moldova, Poland, Romania, Russia, Serbia and Montenegro, Slovakia, Slovenia, Turkey, and Ukraine. South America: Argentina, Brazil and Chile. North Africa: Algeria, Egypt, Libyan Arab Jamahiriya (Libya), Morocco and Tunisia. And worldwide city-to-city routing.

The costs for these services are:

Here is a sample URL for getting driving directions only:
http://mlbs.net/nacgeoservicesv4.5/xmldirections.aspx?UserID=1365763452&StartLongitude=-79&StartLatitude=43&EndLongitude=-79.3&EndLatitude=43.2&Criterion=QUICKEST&Unit=KM&Language=en&ShowWaypoints=yes 
Here is a sample URL for getting both driving directions and route map:
http://mlbs.net/nacgeoservicesv4.5/xmldirections.aspx?UserID=1365763452&StartLongitude=-79&StartLatitude=43&EndLongitude=-79.3&EndLatitude=43.2&Criterion=QUICKEST&Unit=KM&ShowWaypoints=yes&ShowMap=yes&MapWidth=600&MapHeight=400&Language=en
Here is a sample URL for getting both driving directions and route map of a route passing four given locations:
http://mlbs.net/nacgeoservicesv4.5/xmldirections.aspx?UserID=1365763452&StartLongitude=-79&StartLatitude=43&EndLongitude=-79.3&EndLatitude=43.2&Stops=43.1,-79.2;43.15,-79.25;&Criterion=QUICKEST&Unit=KM&ShowWaypoints=yes&ShowMap=yes&MapWidth=600&MapHeight=400&Language=en
In these requests:

The response of these requests will be an XML file like:
<?xml version="1.0" encoding="utf-8" ?> 
<DirectionsResult>
  <Input>
   <Start>
    <Latitude>43</Latitude> 
    <Longitude>-79</Longitude> 
   </Start>
   <Stops>43.1,-79.2;43.15,-79.25;</Stops> 
   <End>
    <Latitude>43.2</Latitude> 
    <Longitude>-79.3</Longitude> 
   </End>
   <MapWidth>600</MapWidth> 
   <MapHeight>600</MapHeight> 
   <ImageFormat>gif</ImageFormat> 
   <Language>en</Language> 
  </Input>
  <Output>
   <TotalDistance>60.0400025770068</TotalDistance> 
   <TotalDrivingTime>60.0400025770068</TotalDrivingTime> 
   <Directions>Depart Start on Local road(s) (South); 0.5 km(s) Turn LEFT (East) onto CR-548 [Love Rd]; 
   2.86 km(s) Turn LEFT (North) onto CR-249 [Baseline Rd]; 2.84 km(s) Turn LEFT (West) onto CR-75 [Whitehaven Rd]; 
   0.63 km(s) Take Ramp (RIGHT) onto I-190 [Gov Thomas E Dewey Thruway]; 6.12 km(s) At exit 21, turn RIGHT onto Ramp; 
   0.15 km(s) Take Ramp (RIGHT) onto Robert Moses State Pkwy; 5.23 km(s) Keep RIGHT onto Ramp; 
   0.33 km(s) Road name changes to John B Daly Blvd; 0.15 km(s) Turn LEFT (West) onto SR-384 [Rainbow Blvd]; 
   1.2 km(s) Turn LEFT (West) onto Niagara St; 0.37 km(s) Road name changes to Rainbow Bridge; 
   0.6 km(s) Entering Ontario; 0 km(s) Road name changes to Hwy-420 [Roberts St]; 
   5.06 km(s) Merge onto Qew [Queen Elizabeth Way]; 0.76 km(s) At exit 32A, keep STRAIGHT onto Ramp; 
   0.29 km(s) Turn LEFT (West) onto RR-57 [Thorold Stone Rd]; 
   4.68 km(s) Turn LEFT (South) onto RR-70 [Thorold Townline Rd]; 
   1.06 km(s) Turn RIGHT (West) onto RR-53 [Beaverdams Rd]; 0.83 km(s) Keep STRAIGHT onto RR-53 [Niagara Falls Rd]; 
   1.22 km(s) Turn LEFT (South) onto RR-553 [Allanburg Rd]; 0.51 km(s) Turn RIGHT (West) onto Local road(s); 
   0.04 km(s) At Stop 1, return East on Local road(s); 0.04 km(s)</Directions> 
   <MapImageURL>http://baymwsrender10.bay.prod.mappoint.net/render-30/getmap.aspx?key=2CE43A2F845A0BE8C407</MapImageURL> 
  </Output>
  <Message /> 
</DirectionsResult>
You can easily parse the XML file to get the total distance, total driving time and turn by turn directions. If the route map is requested, the URL of the map will be returned at MapImageURL. With the map image URL, you application can simply put the URL of the image on your web page.


API for Location Based Business Searching

All maps and information of found business entities from NAC Real-Time Geo-Services should not be stored in any media, and can be displayed only once in real time. Since the retrieved maps will be shown to end users, any page showing the map must include the following items:
  1. A hyperlink of "A service provided by NAC Geographic Products Inc." to "http://www.nacgeo.com".
  2. A text of "Featuring Microsoft MapPoint Technology"
  3. A hyperlink of "Terms of Use" to "http://www.microsoft.com/mappoint/net/terms"
  4. A Hyperlink of "Privacy Statement" to "http://www.microsoft.com/mappoint/net/privacy"
This service is based on http get request/XML response model to provide location based business searching for Canada, United States and major cities of Europe. The costs of this service are:
  1. Getting a list of found items costs the same as geocoding one address
  2. Getting both a list of found items and the map displaying found idems costs the same as geocoding two addresses.
Here is a sample request:
http://mlbs.net/nacgeoservicesv4.5/xmlsearch.aspx?userid=136876543265&Longitude=-73.992616&Latitude=40.729081&Range=5&DataSource=NavTech.NA&Category=SIC7011&ShowMap=yes&ImageWidth=400&ImageFormat=png&Language=en
In the request:

The response of the request is an XML file like:

<?xml version="1.0" encoding="utf-8" ?> 
<SearchResult>
  <Input>
   <Center>
    <Latitude>40.729081</Latitude> 
    <Longitude>-73.992616</Longitude> 
   </Center>
   <Range>5</Range> 
   <DataSource>NavTech.NA</DataSource> 
   <Category>SIC7011</Category> 
   <ImageWidth>400</ImageWidth> 
   <ImageFormat>png</ImageFormat> 
   <Language>en</Language> 
  </Input>
  <Output>
   <FoundEntities>1;St Mark's Hotel;8T0S PRMC;(-73.98929694444,40.72915444444);2 St Marks Pl,New York,NY 10003,
   United States;212-6742192!2;White House Hotel;8T0K PRLW;(-73.99203,40.72607361111);340 Bowery,New York,NY 10012,
   United States;212-4775623!3;Noho Suites;8T08 PRLW;(-73.99639111111,40.72604972222);625 Broadway,New York,NY 10012,
   United States;212-2937770!4;Hotel Marlton;8T06 PRMV;(-73.99692638889,40.73263222222);5 W 8th St,New York,NY 10011,
   United States;212-4735886!5;Hotels Ab;8T09 PRLN;(-73.99557111111,40.72458805556);295 Lafayette St,New York,NY 10012,
   United States;212-9654300!6;Hotel Regina;8T0X PRMT;(-73.9873275,40.73231333333);202 E 13th St,New York,NY 10003,
   United States;212-9822831!7;A Village House;8T05 PRN1;(-73.99736805556,40.73358555556);45 W 9th St,New York,NY 10011,
   United States;212-4735500!8;Mercer Hotel;8T03 PRLR;(-73.99830916667,40.72513583333);147 Mercer St,New York,NY 10012,
   United States;212-9666060!9;Washington Square Hotel;8T02 PRMV;(-73.99903222222,40.73256611111);103 Waverly Pl,New 
   York,NY 10011,United States;212-7779515!10;Union Square Inn;8T10 PRMZ;(-73.98663194444,40.73319555556);209 E 14th 
   St,New York,NY 10003,United States;212-6140500!11;Larchmont Hotel;8T08 PRN5;(-73.99611083333,40.73461388889);27 W 
   11th St,New York,NY 10011,United States;212-9899333!12;Howard Johnson Express Inn-Nyc;8T0Q PRLG;(-73.99000555556,
   40.72313861111);135 E Houston St,New York,NY 10002,United States;212-3588844!13;2nd Home on 2nd Ave;8T13 PRMS;
   (-73.98527583333,40.73209916667);221 2nd Ave,New York,NY 10003,United States;212-6773161!14;Sunshine Hotel;8T0H 
   PRLC;(-73.99304527778,40.72253194444);241 Bowery,New York,NY 10002,United States;212-6743445!15;Inhouse Hotel;8SZV 
   PRMP;(-74.00140722222,40.73155111111);2 Cornelia St,New York,NY 10014,United States;212-8070868!16;Prince Hotel;
   8T0G PRL8;(-73.99351333333,40.72199722222);218 Bowery,New York,NY 10012,United States;212-2266564!17;Manhattan 
   Lodgings;8T0N PRNH;(-73.99071027778,40.73676416667);41 Union Sq W,New York,NY 10003,United States;212-6777616!18;
   Off Soho Suites Hotel;8T0J PRL5;(-73.99257055556,40.72121805556);11 Rivington St,New York,NY 10002,United States;
   212-9799808!19;W-New York Union Square;8T0S PRNG;(-73.98897166667,40.73654888889);201 Park Ave S,New York,NY 10003,
   United States;212-2539119!20;Inn at Irving Place;8T0Z PRND;(-73.98708833333,40.73607694444);56 Irving Pl,New York,
   NY 10003,United States;212-5334600!21;Hotel Seventeen;8T14 PRN7;(-73.98485472222,40.73494694444);225 E 17th St,New 
   York,NY 10003,United States;212-4752845!22;Patrik Frames Motel Fine;8SZT PRLP;(-74.0022,40.72481777778);167 Spring 
   St,New York,NY 10012,United States;212-9252372!23;60 Thompson;8SZR PRLL;(-74.00310888889,40.72410583333);60 Thompson 
   St,New York,NY 10012,United States;212-4310400!24;Chelsea Inn;8T0F PRNQ;(-73.99379,40.7384375);46 W 17th St,New 
   York,NY 10011,United States;212-6458989!25;The Loft;8SZP PRN1;(-74.00371555556,40.7335975);89 Christopher St,New 
   York,NY 10014,United States;212-6912334!</FoundEntities> 
   <MapImageURL>http://baymwsrender07.bay.prod.mappoint.net/render-30/getmap.aspx?key=6124B8C23613DFA64FD5</MapImageURL> 
   <Hotspots>191,207,214,230; 219,235,196,212; 219,235,167,183; 160,176,163,179; 232,248,172,188; 163,179,228,244; 
   152,168,160,176; 227,243,154,170; 161,177,149,165; 155,171,232,248; 143,159,168,184; 245,261,210,226; 
   165,181,242,258; 250,266,189,205; 170,186,133,149; 255,271,186,202; 124,140,205,221; 262,278,192,208; 
   125,141,217,233; 130,146,229,245; 140,156,244,260; 230,246,127,143; 236,252,121,137; 109,125,184,200;</Hotspots> 
  </Output>
  <Message /> 
</SearchResult>
You can easily parse the XML file to get the found items and the URL of the map image if requested. Each found item in FoundEntities contains Item Number, Name, Universal Address, (Longitude, Latitude), StreetAddress and TelephoneNumber separated by semicolons and ended with an exclaimation mark.

With the map image URL, your application can retrieve the map image to reproduce the image in your application or simply put the URL of the image on your web page.

The corresponding pixel coordinates (top, bottom, left, right) of the hot spot for each found item on the map are returned in Hotspots which lists first the hot spot of the map center and then the hot spots of the found items in the same order as in FoundEntities separated by semicolons.


API for Traffic Information

All maps retrieved from NAC Real-Time Geo-Services should not be stored in any media, and can be displayed only once in real time. Since the retrieved maps will be shown to end users, any page showing the map must include the following items:
  1. A hyperlink of "A service provided by NAC Geographic Products Inc." to "http://www.nacgeo.com".
  2. A text of "Featuring Microsoft MapPoint Technology"
  3. A hyperlink of "Terms of Use" to "http://www.microsoft.com/mappoint/net/terms"
  4. A Hyperlink of "Privacy Statement" to "http://www.microsoft.com/mappoint/net/privacy"
This service is based on http get request/XML response model to provide traffic information. Currently, it covers only major metropolitans of the United States.

The costs of this service are:
  1. Getting a list of traffic incidents costs the same as geocoding one address
  2. Getting both a list of traffic incidents and the map displaying all the traffic incidents costs the same as geocoding two addresses.
Here is a sample request:
http://mlbs.net/nacgeoservicesv4.5/xmlgettrafficinfo.aspx?UserID=136525643&Longitude=-77&Latitude=38.87&Range=25&ShowMap=yes&ImageWidth=400&ImageFormat=png&Language=en
In the request:

The response of the request is an XML file like:

<?xml version="1.0" encoding="utf-8" ?> 
<TrafficInfoResult>
  <Input>
   <Center>
    <Latitude>38.87</Latitude> 
    <Longitude>-77</Longitude> 
   </Center>
   <Range>25</Range> 
   <ImageWidth>400</ImageWidth> 
   <ImageFormat>png</ImageFormat> 
   <Language>en</Language> 
  </Input>
  <Output>
   <Incidents>1;S. Capitol St - Northbound;8KGH PGBB;(-77.00637,38.86908);7/4/2007 11:00:00 PM;True;Unknown;
   RestOfWeek;at Frederick Douglass Brg - construction - The Frederick Douglass Brg will be closed until early 
   September for renovation - M St construction blocks the left lane in both directions at South Capitol St || 
   DETOUR: NB follow posted detour to I-295|11t;7/25/2007 7:19:00 AM;High;701;19!2;S. Capitol St - Southbound;
   8KGH PGBB;(-77.00637,38.86908);7/4/2007 11:00:00 PM;True;Unknown;RestOfWeek;at Frederick Douglass Brg - 
   construction - The Frederick Douglass Brg will be closed until early September for renovation - M St 
   construction blocks the left lane in both directions at South Capitol St || DETOUR: NB follow posted detour 
   to I-295|11t;7/25/2007 7:19:00 AM;High;701;19!3;Southeast/Southwest Frwy - Eastbound;8KDH PGCV;
   (-77.03293,38.87918);7/25/2007 7:09:00 AM;False;Unknown;30Min;slow I-395 to Pennsylvania Av -;7/25/2007 7:19:00 
   AM;Medium;136;19!4;DC METRO AREA FORECAST;8KDK PGFD;(-77.03201,38.88951);7/24/2007 12:23:00 PM;False;Unknown;
   RestOfDay;- Today: Scattered thunderstorms. High 84F || Tonight: Isolated thunderstorms early, then partly 
   cloudy after midnight - Low: 67 degrees;7/25/2007 7:19:00 AM;Low;1;19!5;METRORAIL;8KDK PGFD;(-77.03201,38.88951);
   7/25/2007 3:45:00 AM;False;Unknown;30Min;BLUE LINE - running with delays - Disruption at Van Dorn Street. 
   (Customers may experience residual delays to Franconia-Springfield due to an earlier problem at Van Dorn Street 
   that has been resolved.);7/25/2007 7:19:00 AM;Medium;136;19!6;I-395/3rd St Tunnel - Southbound;8KFX PGGZ;
   (-77.01406,38.89982);7/24/2007 11:41:00 PM;False;Unknown;RestOfDay;generally slow New York Av to approaching 
   2nd St SW -;7/25/2007 7:19:00 AM;Medium;136;19!7;New York Av - Inbound;8KGB PGJ3;(-77.00874,38.90745);7/25/2007 
   6:57:00 AM;False;Unknown;2Hours;slow approaching N. Capitol St to I-395/3rd St Tunnel -;7/25/2007 7:19:00 AM;
   Medium;136;19!8;RT-50 - Eastbound;8KNS PGKH;(-76.92236,38.91671);11/14/2006 10:35:00 AM;False;Unknown;
   RestOfWeek;RT-201/Kenilworth Av off ramp - construction - ramp closed for long-term bridge redecking project 
   on SB DC-295 south of RT-50 - expect major delays during the afternoon rush hour || ALTERNATE: Take NB RT-201 
   Kenilworth Ave and ride the ramps to SB R;7/25/2007 7:19:00 AM;Low;701;17!9;RT-50 - Eastbound;8KNS PGKH;
   (-76.92236,38.91671);11/14/2006 10:35:00 AM;False;Unknown;RestOfWeek;RT-201/Kenilworth Av off ramp - 
   construction - ramp closed for long-term bridge redecking project on SB DC-295 south of RT-50 - expect major 
   delays during the afternoon rush hour || ALTERNATE: Take NB RT-201 Kenilworth Ave and ride the ramps to SB R;
   7/25/2007 7:19:00 AM;Low;701;19!10;ROCK CREEK PARK;8KC4 PGNW;(-77.05123,38.93947);7/25/2007 2:00:00 AM;False;
   Unknown;15Min;BEACH DR NW at PARK RD NW - construction - Beach Drive will be closed from Park Road to Piney 
   Branch Parkway, NW from 9:30 a.m. until 2:30 p.m.;7/25/2007 7:19:00 AM;Medium;701;19!11;I-495 Capital Beltway;
   8K9G PFZX;(-77.07341,38.79962);7/25/2007 7:08:00 AM;False;Unknown;30Min;slow approaching RT-1/Alexandria (#177) 
   to Woodrow Wilson Brg -;7/25/2007 7:19:00 AM;Medium;136;19!12;NW DC;8K85 PGMZ;(-77.09106,38.93323);6/25/2007 
   1:45:00 AM;False;Unknown;Over1Month;Foxhall Rd, NW between Nebraska Ave and Canal Rd, NW - ongoing construction 
   - at least one lane gets by in both directions from 7 a.m. to 7 p.m. Mondays-Saturdays through June 2008 - 
   expect delays 07:00 am to 07:00 pm;7/25/2007 7:19:00 AM;Low;701;19!</Incidents> 
   <MapImageURL>http://baymwsrender08.bay.prod.mappoint.net/render-30/getmap.aspx?
   key=3AB320C9E01D3A19597E</MapImageURL> 
   <Hotspots>185,201,197,213; 194,210,183,199; 194,210,183,199; 176,192,146,162; 157,173,148,164; 157,173,148,
   164; 139,155,173,189; 125,141,180,196; 109,125,300,316; 109,125,300,316; 68,84,121,137; 317,333,90,106; 79,95,66,
   82;</Hotspots> 
  </Output>
  <Message /> 
</TrafficInfoResult>
You can easily parse the XML file to get the traffic incidents and the URL of the map image. Each incident is shown in Incidents with Incident Number, Name, Universal Address, (Longitude, Latitude), CreatedTime, Divert, ExpectedDelay, ExpectedDuration, FullDescription, LastUpdated, Severity, StandardMessage, and TrafficAreaID separated by semicolons, and ending with an exclaimation mark. Here is the explanation of the parameters of incidents: With the map image URL, your application can retrieve the map image to retrieve the image or simply put the URL of the image on your web page.

The corresponding pixel coordinates (top, bottom, left, right) of the hotspot of each traffic incident on the map have been found in Hotspots which lists the hot spot of the map center and then the hot spots of the traffic incidents in the same order as Incidents separated by semicolons.
©2007 NAC Geographic Products Inc.