fix map iterator delete problem