I'm trying to get the CivicAddress from a Geoposition in Windows Phone 8.1
I've tried using the following code:
// Get Current Location
var geolocator = new Geolocator();
geolocator.DesiredAccuracyInMeters = 100;
var position = await geolocator.GetGeopositionAsync();
// Get Country
var country = position.CivicAddress.Country;
which throws NullReferenceException as the CivicAddress field is null. I understand that a CivicAddress provider is not provided for Windows 8. I would like to check whether this is the case for Windows Phone 8.1 If so, how can I obtain / write a CivicAddress provider?
You will need to use ReverseGeocoding for this - some more information at MSDN.
As for windows runtime you can for example use MapLocationFinder.FindLocationsAtAsync for this purpose:
If you want to get address for a position, then I would suggest you use ReverseGeocodeQuery API with the position you get with the Geolocator API, for reference implementation I do have an example available at github here https://github.com/nokia-developer/maps-samples/tree/master/RevGeoCoding
else you could also try this to get civic address from GeoCoordinates http://msdn.microsoft.com/en-us/library/system.device.location.civicaddress(v=vs.110).aspx