1. A method for determining location using magnetic field readings, the method comprising: obtaining, by one or more computing devices, a reading of a magnetic field collected by a magnetometer; determining, by the one or more computing devices, a plurality of characteristics of a magnetic field based at least in part on the reading, wherein determining one or more of the plurality of characteristics comprises isolating a component of the magnetic field that exhibits a frequency at which electrical power is transmitted along one or more power lines; communicating, by the one or more computing devices, with a server over a network to obtain a plurality of expected values associated with each of a plurality of locations, wherein the plurality of expected values for each location are provided by a map of the magnetic field stored by the server; comparing, by the one or more computing devices, the plurality of characteristics to the plurality of expected values associated with each of the plurality of locations; determining, by the one or more computing devices, a location probability for each of the plurality of locations based at least in part on the respective comparison of the plurality of characteristics to the plurality of expected values associated with such location; and determining, by the one or more computing devices, a device location based at least in part on the plurality of location probabilities respectively determined for the plurality of locations.