Currently, it is not distinguished if a lat or long field has not set a value or has the value zero (0.0000°). This is of course wrong. If one of the two values has in fact the value zero (which can be real), the latlong field does not get displayed with any value at all. If one of the two values will be deleted, next time the edit page presents its value prefilled by the number zero. Also wrong - the field should be kept empty and not filled by anything.
This bad behaviour is caused by the use of the empty() function, which does not distinguish between null (empty) and the number zero.