You can use the ReverseGeocodingQuery to get information about your current location, but it's not working offline.
To get information use following lines of code:
string NameOfPlace = "";
ReverseGeocodeQuery MyReverseGeocodeQuery = null;
void GetNameOfPlace(GeoCoordinate geoCoordinate)
{
MyReverseGeocodeQuery = new ReverseGeocodeQuery();
MyReverseGeocodeQuery.GeoCoordinate = new GeoCoordinate(geoCoordinate.Latitude, geoCoordinate.Longitude);
MyReverseGeocodeQuery.QueryCompleted += ReverseGeocodeQuery_QueryCompleted;
MyReverseGeocodeQuery.QueryAsync();
}
private void ReverseGeocodeQuery_QueryCompleted(object sender, QueryCompletedEventArgs<IList<MapLocation>> e)
{
var result = e.Result[0];
NameOfPlace = result.Information.Address.Street + " " + result.Information.Address.City + " " + result.Information.Address.Country;
}
Result for GeoCoordinate 48.774010, 9.224396 would be Zur Staibhöhe Stuttgart Germany.
Btw.: The localization of the phone is being used (If the language is german, the result would be Zur Staibhöhe Stuttgart Deutschland)