A positioning method based on a visible light source, wherein the method is applied in a visible light source positioning system, wherein the system comprises a visible light source array and a visible light source controller, and the visible light source array comprises at least one visible light source; and the method comprises: acquiring, by the visible light source controller, geographical position attribute information of a position at which the visible light source array is located; determining, by the visible light source controller according to a preset correspondence between geographical position attribute information of a position at which a visible light source array is located and a visible light source array pattern, a visible light source array pattern corresponding to the acquired geographical position attribute information, wherein the visible light source array pattern refers to coding information formed by identification information that is separately used to identify a luminance state corresponding to each visible light source comprised in the visible light source array; and controlling, by the visible light source controller according to the determined visible light source array pattern, the luminance state of each visible light source comprised in the visible light source array characterized by when determining that at least one visible light source is added to the visible light source array, updating, by the visible light source controller, the visible light source array pattern of the visible light source, and sending, to the map server through the network, a correspondence between an updated visible light source array pattern and geographical position attribute information corresponding to the visible light source array pattern, so that the map server updates the existing correspondence between a visible light source array pattern and geographical position attribute information. acquiring, by the visible light source controller, geographical position attribute information of a position at which the visible light source array is located; determining, by the visible light source controller according to a preset correspondence between geographical position attribute information of a position at which a visible light source array is located and a visible light source array pattern, a visible light source array pattern corresponding to the acquired geographical position attribute information, wherein the visible light source array pattern refers to coding information formed by identification information that is separately used to identify a luminance state corresponding to each visible light source comprised in the visible light source array; and controlling, by the visible light source controller according to the determined visible light source array pattern, the luminance state of each visible light source comprised in the visible light source array characterized by when determining that at least one visible light source is added to the visible light source array, updating, by the visible light source controller, the visible light source array pattern of the visible light source, and sending, to the map server through the network, a correspondence between an updated visible light source array pattern and geographical position attribute information corresponding to the visible light source array pattern, so that the map server updates the existing correspondence between a visible light source array pattern and geographical position attribute information.