1. A method for indoor positioning, executed by a processing unit of a first reference node to improve the precision of a calculation of a three-dimensional location of a blind node, comprising: listening to a plurality of first broadcast signals of a plurality of second reference nodes via a ZigBee module; obtaining a plurality of first signal measurements of the first broadcast signals; obtaining identification information from a plurality of broadcast messages sent by the second reference nodes via the ZigBee module; obtaining a first distance from the second reference node associated with each identification information; updating a first MLM (Machine Learning Model) according to the first signal measurements and the first distances, wherein the first MLM describes a linear function between signal measurements and distances; receiving a positioning request from the blind node via the ZigBee module; calculating a second signal measurement of a second broadcast signal of the blind node; converting the second signal measurement into a second distance from the blind node according to the first MLM; and sending a three-dimensional location of the first reference node and the second distance from the blind node in reply to the blind node via the ZigBee module, such that the blind node calculates the three-dimensional location of the blind node accordingly and uses the calculated three-dimensional location to update a current location of the blind node on an indoor map, so as to help a user to visualize the surrounding environment via the indoor map.