I have changed "this" to "that" in following code and it some how fixed my issue. Not sure about the logic yet.
Before:
var marker = new google.maps.Marker({
map: this.map,
title: salon.title,
position: results[0].geometry.location
});
After:
var marker = new google.maps.Marker({
map: that.map,
title: salon.title,
position: results[0].geometry.location
});