Crime is always one of the most important social problems, and it poses a great threat to public security and people. Accurate crime prediction can help the government, police, and citizens to carry out effective crime prevention measures. In this paper, the research on crime prediction is systematically reviewed from a variety of temporal and spatial perspectives. We describe the current state of crime prediction research from four perspectives (prediction content, crime types, methods, and evaluation) and focus on the prediction methods. According to various temporal and spatial scales, temporal crime prediction is divided into short-term prediction, medium-term prediction, and long-term prediction, and spatial crime prediction is divided into micro-, meso-, and macro-level prediction. Spatio-temporal crime prediction classification can be a permutation of temporal and spatial crime prediction classifications. A variety of crime prediction methods and evaluation metrics are also summarized, and different prediction methods and models are compared and evaluated. After sorting out the literature, it was found that there are still many limitations in the current research: (i) data sparsity is difficult to deal with effectively; (ii) the practicality, interpretability, and transparency of predictive models are insufficient; (iii) the evaluation system is relatively simple; and (iv) the research on decision-making application is lacking. In this regard, the following suggestions are proposed to solve the above problems: (i) the use of transformer learning technology to deal with sparse data; (ii) the introduction of model interpretation methods, such as Shapley additive explanations (SHAPs), to improve the interpretability of the models; (iii) the establishment of a set of standard evaluation systems for crime prediction at different scales to standardize data use and evaluation metrics; and (iv) the integration of reinforcement learning to achieve more accurate prediction while promoting the transformation of the application results.