none
bing API - generating map from local database on windows phone and querying addresses offline

    Question

  • I would like to be able to generate a map on a windows phone using local database. I am developing an offline bing maps app for windows phone. I am not sure if bing maps api can be used to query addresses without an internet connection. Ideally, I am hoping to create a database with the required spatial data and then assuming the Map class can generate a map from the database, I like to be able to query addresses.
    Thursday, May 24, 2012 5:28 PM

Answers

  • Basically, the answer to your question(s) is.... no, and no.

    From a technical point-of-view: the Bing Map control requires an internet connection to authenticate a session, download map tiles from Bing's servers, and the Bing Maps Locations API used for geocoding is itself a web service.

    From a legal point-of-view: the Bing Maps terms of use specifically prohibit creating a local copy or database of any of its content (Section 3.2b - http://www.microsoft.com/maps/product/terms.html)

    You can certainly create a Windows Phone 7 application that shows a map of a specific area from local data, and you can write your own geocoding function that parses an input address and returns the closest matching coordinate location, but you can't use the Bing Maps API to do it. Also bear in mind how much data you'll need this app to have to make it useful - to create an offline map covering only a 10km x 10km area at zoom level 19 (Bing Maps' closest zoom level), you'd need about 500Mb of data (https://alastaira.wordpress.com/2011/07/08/bing-maps-ready-reckoner/). And creating your own geocoder is not for the faint-hearted either - there's a surprising level of complexity involved in parsing free-text address input and then interpolating the best matching location from a database of known locations.

    Why do you need this application to run offline, considering your target platform is an internet-connected device? Is it to be used underground or something?


    twitter: @alastaira blog: http://alastaira.wordpress.com/

    Thursday, May 24, 2012 6:03 PM

All replies

  • Basically, the answer to your question(s) is.... no, and no.

    From a technical point-of-view: the Bing Map control requires an internet connection to authenticate a session, download map tiles from Bing's servers, and the Bing Maps Locations API used for geocoding is itself a web service.

    From a legal point-of-view: the Bing Maps terms of use specifically prohibit creating a local copy or database of any of its content (Section 3.2b - http://www.microsoft.com/maps/product/terms.html)

    You can certainly create a Windows Phone 7 application that shows a map of a specific area from local data, and you can write your own geocoding function that parses an input address and returns the closest matching coordinate location, but you can't use the Bing Maps API to do it. Also bear in mind how much data you'll need this app to have to make it useful - to create an offline map covering only a 10km x 10km area at zoom level 19 (Bing Maps' closest zoom level), you'd need about 500Mb of data (https://alastaira.wordpress.com/2011/07/08/bing-maps-ready-reckoner/). And creating your own geocoder is not for the faint-hearted either - there's a surprising level of complexity involved in parsing free-text address input and then interpolating the best matching location from a database of known locations.

    Why do you need this application to run offline, considering your target platform is an internet-connected device? Is it to be used underground or something?


    twitter: @alastaira blog: http://alastaira.wordpress.com/

    Thursday, May 24, 2012 6:03 PM
  • Instead of using raster tiling, I want to be creating vector tiles using mappolyline and mappolygon classes. Raster tiles will take up too much space for the app to be useful. I could for instance download static map data for a province say Ontario or specific city in the province. as long as the size is under 2-6 gb i think its worth while.

    Well not everybody wants to use dataconnection while travelling, the goal of this app is to provide offline navigation.

    but even if there was way to architect an api for geocoding addresses to geocoordinates. is it possible to get permission from microsoft to store bing maps data in isolated storage on windows phone? perhaps a license can be purchased for the commercial app?

    Friday, May 25, 2012 6:01 PM
  • Again the answer is no. I have looked into offline map before and it's simply not allowed by or data providers. From a technical point of view this can be done and has been done as a proof of concept but from a legal point of view is not allowed and any app found doing this will be removed from the marketplace.

    http://rbrundritt.wordpress.com

    Monday, May 28, 2012 8:20 AM