fix map moving bug
fix the zoom bug
some refactoring