It seems that the problem is in ezfSolrDocumentFieldGmapLocation::getData method.
Basicly, it doesn't check if the values are empty and does not assign a default value to the array returned to eZSolr class if they are. Instead, getData returns an array with empty values, which ezfind/solr obviously interprets as "no need to update the value".
Ofcourse, then you will need to change your template/php code to take into account attribute values with longitude and latitude set to 0 and interpret them as not having a location.