1. A method of determining a position of a device within an indoor location, comprising: gathering device signal data, the device signal data including at least one of Wi-Fi data, Bluetooth data, GPS data and cellular data; gathering device sensor data from at least one of a set of device sensors including an accelerometer, a gyroscope and a magnetometer; estimating a plurality of potential trajectories describing a movement of the device through the indoor location as a sequence of positions based on the device signal data, a fingerprint map calibrated for the indoor location, and by determining, from the device sensor data, a device direction of travel angle subject to a misalignment correction based on monitoring at least one of a device sensor drift and a device sensor bias factors, wherein the fingerprint map comprises a plurality of fingerprint locations, each of the plurality of fingerprint locations having at least one associated device signal data value or device sensor data value; and determining the position of the device based on a data fusion of the estimated plurality of potential trajectories, the data fusion based at least in part upon a probabilistic weighting for respective ones of the estimated plurality of potential trajectories.