function refactoring to keep jshint happy
Multiple changes to hide numeric IDs from users.
  - The new code uses '(lat, lng)' as an ID for each marker, and stores it in an
    object (aiMarkers) for marker management.