GVIM: GNSS/Visual/IMU/Map Integration Via Sliding Window Factor Graph Optimization in Urban Canyons