修复定位不准确问题  PS：代码冗余量很大啊，需要优化