The view below is displayed using the [contact_list] shortcode.
The number of columns can be 1-4 (definable from the settings). Filterable fields can also be hidden and the number of contacts per page can be defined from the settings.
Each contact has fields for country, state and city, but they can be renamed and used for any kind of information. The dropdowns for search are generated automatically from the contact data.